@dynamic 和 @synthesize 和区别
当我们设置一个类的变量的时候,我们会考虑设置属性,也就是@property ,当我们设置玩属性后,我们要实现它的 get 和 set 方法,但是现在的编译器默认已经帮我们实现好了,也就是我们@synthesize。
@synthesize 的作用就是帮我们实现 get 和 set 方法,如下
@property (nonatomic,copy) NSString *author;
// set
- (void)setAuthor:(NSString *)author {
[_author release];
[author retain];
_author = author
}
// get
- (NSString *)author {
return _author;
}
而 @ dynamic 表示这个成员变量的 getter 和 setter 方法并不是直接由编译器生成,而是手工生成或者运行时生成。
这就是 @dynamic 的作用,那么我们该怎么运用运行时来生成 ge