[iOS]@synthesize和@dynamic关键字

首先讲@property, 这是iOS6以后出来的关键词. 用它声明一个属性之后, 编译器会自动给你生成setter和getter方法的声明以及实现还有一个以_xxx 的成员变量(xxx是你属性定义的变量名字)

 

在声明property属性后,有2种实现选择

@synthesize  (Xcode6以后省略这个了, 默认在 @implementation .m中添加这个@synthesize xxx = _xxx)

编译器期间,让编译器自动生成getter/setter方法。

当有自定义的存或取方法时,自定义会屏蔽自动生成该方法

 

@dynamic

告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告

然后由自己实现存取方法

或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性

posted on 2016-04-18 16:01  M_Lee  阅读(812)  评论(1编辑  收藏  举报

导航