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