手動實現(xiàn)set/get方法;
知識點:關(guān)聯(lián)對象。
.h
@interface Person (Test)
@property (copy, nonatomic) NSString *name;
@end
.m
#import <objc/runtime.h>
- (void)setName:(NSString *)name {
// @selector(name) 在此處的作用是作為一個 key
objc_setAssociatedObject(self, @selector(name), name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)name {
// 隱式參數(shù)
// _cmd == @selector(name)
return objc_getAssociatedObject(self, _cmd);
}