新增具有類別的屬性
可以使用關聯物件(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