assign 赋值方式 不复制不保留,直接赋值 基本数据类型和本类不直接拥有的对象 对象应用strong 却用 assign 就会很容易崩
retain 赋值方式 将新值保留一份赋覆盖原值 引用计数加1 大部分对象可使用 相当于浅拷贝,指针复制
readwrite 读写权限 生成getter和setter两个方法 变量可读取可修改
readonly 读写权限 只生成getter方法 变量只读不可修改
atomic 原子性原子操作 可以保留在多线程环境下,能安全的存取值
nonatomic 原子性非原子操作 不生成多线程同步内容
getter 存取方法自定义取方法
setter 存取方法自定义赋值方法
strong 强指针
weak 弱指针
ARC下:
strong的含义和retain相同,weak和assign相同,修饰完的属性变量用法也是完全没有改变,不过strong和weak只能修饰对象
注意: 用weak修饰UI控件时,removeFromSuperview 后会释放,而strong不会,但可以使控件=nil释放