美文网首页将来跳槽用
[iOS]@property以及@synthesize和@dyn

[iOS]@property以及@synthesize和@dyn

作者: 程序猿_老李 | 来源:发表于2016-04-18 16:02 被阅读4272次

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

在声明property属性后,有2种实现选择
@synthesize (Xcode6以后省略这个了, 默认在 @implementation .m中添加这个@synthesize xxx = _xxx; )
编译器期间,让编译器自动生成getter/setter方法。
当有自定义的存或取方法时,自定义会屏蔽自动生成该方法

@dynamic (Xcode6以后省略这个了, 默认在 @implementation .m中添加这个@synthesize xxx; )
告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告
然后由自己实现存取方法
或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性

相关文章

网友评论

    本文标题:[iOS]@property以及@synthesize和@dyn

    本文链接:https://www.haomeiwen.com/subject/zjdalttx.html