新关键字

新关键字:
__strong 强引用(默认方式) 在ARC中,alloc出来的堆空间必须由强指针指向(持有),当ARC发现没有强指针指向该空间时,ARC将会把该空间释放,当指向的空间被释放时,此时为野指针

** __weak 弱引用**, 只指向不持有对象的空间,当它指向的对象被销毁时,弱引用本身会自动的赋值为nil
**__unsafe _unretain **
**__autoreleasing **

assign:用于基础数据类型

retain(运用于MRC中,将引用计数值加一,使他持有这块空间)
readonly(只读,就是只生成set方法)
readwrite(只写,就是只生成get方法)
copy ( 支持深拷贝,得到副本,非引用 )
weak(弱引用的属性,仅仅指向这个空间而不持有)
atomic 是Objc使用的一种线程保护技术,
基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,
所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,
那么nonatomic是一个非常好的选择。

这些关键字基本上是针对属性的set方法。
当用copy时,set方法会先release旧值,再copy一个新的对象,reference count 为1(减少了对上下文的依赖);当用assign,直接赋值,无retain操作。当用retain,release旧值,retain新值;

posted @ 2017-08-22 21:09  笑笑就好90  阅读(146)  评论(0)    收藏  举报