iOS 属性

来源:互联网 发布:凯撒豪庭骗局 知乎 编辑:程序博客网 时间:2024/05/11 04:44
属性是结构体对象,编译期,编译器自动合成属性的get,set方法,并向类结构体里添加  “_属性名”  实例变量。类对象用.语法访问属性时调用的是ge方法,_属性名访问时访问的是实例变量。
特性:
原子性:不同线程不能同时读写
读写权限
内存管理语义:(属性与类对象之间的协议)
                         assign数字类型(如 CGFloat,NSInteger)的简单赋值
                         strong:属性设置新值时,set方法先保留新值,释放旧值,再设置新值。
                          weak:同assign类似,简单赋值,属性指向的对象不存在时置为nil
                          unsafe_unretained:同weak,对象不存在时不会自动置为nil,不安全
                          copy:设置新值时,set方法拷贝新值。mutable类型的属性都应该设置为copy属性
在对象外部访问属性用getter方法,内部用实例变量。在类对象的init方法里面不能调用setter,getter方法
访问实例变量不会触发属性的内存管理语义,不会触发KVO
0 0
原创粉丝点击