涉及到第三方库的一个model类新增一个属性,一开始想着用extension或者继承model类。但是extension给属性赋值会报错,继承也可以,但是涉及到的代码改动比较多,改动比较大最后觉得用Category实现方便。
.h文件:
@property (nonatomic, assign) BOOL isSelected; // 是否选中
.m文件:
#import "C2IMUserInfo+Selected.h"
#import <objc/runtime.h>
static void * kIsSelected = &kIsSelected;
@implementation C2IMUserInfo (Selected)
@dynamic isSelected;
- (BOOL)isSelected {
return [objc_getAssociatedObject(self, kIsSelected) boolValue];
}
- (void)setIsSelected:(BOOL)isSelected {
return objc_setAssociatedObject(self, kIsSelected, [NSNumber numberWithBool:isSelected], OBJC_ASSOCIATION_ASSIGN);
}
@end