美文网首页
iOS开发中利用runtime为某个类的category增加属性

iOS开发中利用runtime为某个类的category增加属性

作者: 梁森的简书 | 来源:发表于2018-04-16 18:22 被阅读12次

背景:

项目中为了减少AppDelegate中的代码为AppDelegate写了一个分类,部分代码放在了该分类中。有一个功能需要发送通知,在AppDelegate中进行监听并将通知发送过来的数据进行存储(在AppDelegate的分类中实现)。由于存储的数据需要在全局进行使用,所以本人就想到了在AppDelegate中添加一个属性,将接收到的数据存储在该属性中,以供在AppDelegate的分类中进行全局使用

代码实现:

(如为一个Person的分类增加一个name的属性)

.m中的代码

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

    objc_setAssociatedObject(self, @selector(name), name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

}

- (NSString *)name{

    return objc_getAssociatedObject(self, @selector(name));

}

注意:在.m文件中引入头文件:    <objec/runtime.h>

这样我们就为一个类的分类动态添加了一个属性。

demo地址:https://gitee.com/liangsenliangsen/runtime_add_member_properties.git

本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊

相关文章

网友评论

      本文标题:iOS开发中利用runtime为某个类的category增加属性

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