美文网首页
iOS 分类扩展属性

iOS 分类扩展属性

作者: Who昵称 | 来源:发表于2016-11-30 13:21 被阅读700次

    分类:

    @interface UIView (Extension)

    扩展的方法和属性

    扩展的属性只有声明 没有set和get方法的实现

    @end

    类扩展:

    @interface ViewController ()

    扩展属性/成员变量/方法

    扩展的属性 有set和get方法的实现

    @end

    给分类添加属性

    1.@interface UIView (Extension)

    //给分类添加一些属性

    @property(nonatomic,copy)NSString * name;

    @end

    2.static const void * lm_name = @"name";

    3.//属性的set和get方法的实现

    #pragma mark - 字符串类型的动态绑定

    /*

    1.id object给那个对象添加属性

    2.const void *key 属性对应的key

    3.id value 设置属性的值为value

    4.OBJC_ASSOCIATION_ASSIGN assign

    OBJC_ASSOCIATION_RETAIN_NONATOMIC retain

    OBJC_ASSOCIATION_COPY_NONATOMIC copy

    OBJC_ASSOCIATION_RETAIN

    OBJC_ASSOCIATION_COPY

    */

    //set方法的实现

    - (void)setName:(NSString *)name{

    objc_setAssociatedObject(self, lm_name, name, OBJC_ASSOCIATION_COPY_NONATOMIC);

    }

    //get方法的实现

    - (NSString *)name{

    return objc_getAssociatedObject(self,lm_name);

    }

    相关文章

      网友评论

          本文标题:iOS 分类扩展属性

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