@preperty XXX
1 生成 _XXX属性
2 为_XXX属性自动生成 set/get 方法
@preperty (可追加关键字)
1 原子性:
atomic: 多线程环境下,存在线程保护,(默认)
nonatomic: 多线程环境下,不存在线程保护 // 通常用这个
2读写性:
readwrite: 生成 getter,setter 方法 (默认)
readonly: 只生成 getter 方法
3 指针
strong:强指针(默认) 对应之前的 retain 和 copy
weak: 若指针 对应之前的 assign
4 赋值 //已经取消.作为上面对应的参考用.
assign: 直接赋值,(默认)
retain: 保留对象
copy: 拷贝对象
@synthesize 一般省略不写
@synthesize
编译器期间,让编译器自动生成getter/setter方法。
当有自定义的存或取方法时,自定义会屏蔽自动生成该方法
@dynamic
告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告
然后由自己实现存取方法
或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性