@synthesize除非开发人员已经做了,否则由编译器自动生成getter/setter方法。当开发人员自定义存或取方法时,自定义会屏蔽自动生成该方法。@dynamic 告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告。是由开发人员提供相应的代码:对于只读属性需要提供 setter方法;对于读写属性需要提供 setter 和 getter方法。