美文网首页
如何实现给分类“添加成员变量”?

如何实现给分类“添加成员变量”?

作者: 南城同學 | 来源:发表于2019-08-22 11:04 被阅读0次
    • 手动实现set/get方法;

    • 知识点:关联对象。

    .h
    
    @interface Person (Test)
    @property (copy, nonatomic) NSString *name;
    @end
    
    .m
    
    #import <objc/runtime.h>
    
    - (void)setName:(NSString *)name {
        // @selector(name) 在此处的作用是作为一个 key
        objc_setAssociatedObject(self, @selector(name), name, OBJC_ASSOCIATION_COPY_NONATOMIC);
    }
    
    - (NSString *)name {
        // 隐式参数
        // _cmd == @selector(name)
        return objc_getAssociatedObject(self, _cmd);
    }
    

    相关文章

      网友评论

          本文标题:如何实现给分类“添加成员变量”?

          本文链接:https://www.haomeiwen.com/subject/ekzgsctx.html