添加具有类别的属性
可以使用关联对象(Objective-C 运行时的一个功能)将属性添加到类别中。
请注意,retain, nonatomic
的属性声明与 objc_setAssociatedObject
的最后一个参数匹配。有关说明,请参阅将对象附加到另一个现有对象 。
#import <objc/runtime.h>
@interface UIViewController (ScreenName)
@property (retain, nonatomic) NSString *screenName;
@end
@implementation UIViewController (ScreenName)
@dynamic screenName;
- (NSString *)screenName {
return objc_getAssociatedObject(self, @selector(screenName));
}
- (void)setScreenName:(NSString *)screenName {
objc_setAssociatedObject(self, @selector(screenName), screenName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
@end