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

背景:

项目中为了减少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文件中引入头文件:

猜你喜欢

转载自blog.csdn.net/u010105969/article/details/79964369
今日推荐