参考文章地址:http://www.cocoachina.com/bbs/simple/?t58775.html
举个用@dynamic的例子:
.h文件有个BOOL canServeBeer@property........
.m文件:
@dynamic canServeBeer
-(BOOL) canserveBeer
{
if([self age]>=21)
return YES;
else
return NO;
}
再简单点说,当你想要让getter或setter做更多的事情或加入新的特性时,就要用@dynamic,这时再用原来的@synthesize覆盖的话,会有警告,然后运行时如果你想用到新加入的特性时,运行会出错,建议买本objc语法书看,书上有更详细的解答