property的有关属性:
(1)readwrite是可读可写特征;需要生成getter方法和setter方法;
(2)readonly是只读特性只会生成getter方法不会生成setter方法;
(3)assign赋值特性,setter方法将传入参数赋值给实例变量;
(4)retain 表示持有特性,setter方法将传入参数先保留,再赋值,并且变量retaincount(引用计数)+1;
(5)copy 通过copy将对象复制一份,之前的对象会释放;
(6)strong 强引用,计数器+1;
(7)weak 弱引用 计数器不加一;
(8)nonatomic 非原子性;
(9)atomic 原子性,确保其操作的原子性;
(10)unsafe_unretained 和weak的功能差不多。