nonatomic:非原子性访问,不加锁进行同步,多线程并发访问会提高性能。如果不加此属性,默认是原子性访问。
assign:简单赋值,不更改引用计数。一般用于基本数据类型。
copy:在系统生成的setter方法中,对加了此属性的指针先释放旧值,然后赋予指针传入的新值的拷贝,拷贝工作由copy方法执行。对应的对象必须实现NSCopying协议。
_name属性的setter方法手动实现如下:
retain:释放旧的对象,然后赋予指针传入的新的对象,传入的对象计数器加1
_name属性的setter方法手动实现如下: