OC数据类型属性

复习下基础知识,OC数据类型的属性。

  • retain:默认属性。字面上是计数器加1操作,实际进行了释放旧对象,将旧对象的值付给新对象,新对象计数器加1的动作。专业点可以简称为“指针拷贝”。
  • assign:默认属性。基本数据类型的赋值,简单赋值。
  • atomic:默认属性。对变量的setter方法加锁。
  • readwrite:默认属性。setter、getter方法可访问。
  • strong:强引用,ARC中与retain等价。
  • weak:弱应用。或许通俗点可以叫值引用,即调用该属性的变量只指向值,一旦该值的地址被释放或retain count=0的时候,weak会自动将该变量置nil。与assign不同的是不能修饰基本数据类型。
  • nonatomic:非原子操作,多线程时可以并发操作setter方法。比atomic高效。
  • readonly:getter方法可访问,setter方法不可访问。
  • unsafe_unretained:少用。