HeadFirst的iPhone开发笔记

readonly 

用于不想让别人修改属性

retain 

用于值类型为对象的属性,编译器会持有(retain)传入的值,并在有新值传入时将原有值释放。

copy

希望保存一份传入值的拷贝而不是值自身。如,保存一个数组,将该数组设为属性值,不让别人修改其内容。这会给传入值发送一个copy消息,然后持有复制的结果。

assign

用于基本类型的属性,如int ,float 等。

nonatomic

默认,生成的访问方法都线程安全,在修改属性值用mutex加锁,这种操作方式称为原子性的(atomic),当类不会被多个线程使用,这么做会浪费。

将属性声明为非原子的(nonatomic),告诉编译器忽略mutex加锁机制。

原文地址:https://www.cnblogs.com/Null2051/p/3130099.html