美文网首页
iOS 分类添加属性

iOS 分类添加属性

作者: 路边的风景呢 | 来源:发表于2021-01-14 16:21 被阅读0次

给分类 Category 添加属性,首先要创建一个分类文件,然后添加你要的属性

.h 文件

 @property (strong, nonatomic, nullable) NSString * otherName;

重点来了!!!!!分类之所以不能添加是因为不会自动生成setter 和getter 方法 在这里把这两个方法添加上就可以了 然后需要用runtime添加上

.m 文件    导入👇

//运行时头文件

#import<objc/runtime.h>

//给刷新控件设置 setter  getter 方法

static char * OtherNameKey = "OtherNameKey";

//运行时实现getter方法

- (NSString *)otherName {

    //如果属性值是非id类型,可以通过属性值先构造OC的id对象,再通过对象获取非id类型属性

    return objc_getAssociatedObject(self, OtherNameKey);

}

//运行时实现setter方法

- (void)setOtherName:(NSString*)otherName{

    objc_setAssociatedObject(self, &OtherNameKey, otherName, OBJC_ASSOCIATION_RETAIN);

}

完事!!!!!!

相关文章

  • iOS runtime 动态添加属性,方法,方法交换案例

    iOS runtime 动态添加属性,方法,方法交换案例 动态添加属性 我之前写过分类的文章,说过,分类不能添加成...

  • ios分类添加属性

    为什么分类不能添加属性 结构体没有属性列表:这也就是为什么分类不能添加属性的本质原因。 属性是什么 生成实例变量 ...

  • ios分类添加属性

    一 定义一个类 Student.h文件 Student.m文件 二 定义分类 三 说明 四 注意事项

  • iOS 分类添加属性

    给分类 Category 添加属性,首先要创建一个分类文件,然后添加你要的属性 .h 文件 @property (...

  • ios中的分类

    在ios中给分类添加属性,可以通过属性关联来实现重写set方法如下: -(NSMutableDictionary ...

  • 类 *分类* 类扩展

    分类:Category iOS中的分类主要的作用就是为类提供扩展,增加一些方法。但是只能添加方法 不能添加属性?我...

  • iOS 类别(分类)添加属性

    一:首先介绍Category好处: 1、可以将类的实现分散到多个不同文件或多个不同框架中,方便代码管理。也可以对框...

  • iOS 分类中添加属性

    很简单,看下注释就明白了。github代码

  • ios 分类中添加属性

    category使用 objc_setAssociatedObject/objc_getAssociatedObj...

  • iOS 分类中添加属性

    注意 分类主要是给原类添加方法的,分类的结构指针中只有方法列表,没有属性列表。所以原则上分类里面最好不要声明属性 ...

网友评论

      本文标题:iOS 分类添加属性

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