IOS 5之后便支持ARC了,在ARC的情况下对象引用分为:
strong强引用(一个对象如果有一个及以上的强引用指向它,那么他将不会释放);
weak弱引用(一个对象如果只有弱应用指向它,那么它将被释放掉);
注:两个对象若相互保留对方的强引用,那么会照成内存泄漏。
其他:
copy: 对象的复制,复制之后得到的对象地址不一样;新对象的retaincount为1,原对象的retaincount不变;
retain:对象指针的复制,复制之后得到的对象地址一样;原对象的retaincount+1;
assign,用于修饰基本变量数据;
weak,unsafe_unretained 原对象的retain count保持不变,区别就是后者会造成野指针;
nonatomic: 非原子性,多线程操作下不安全的。采用这个的目的是atomic耗费资源的;
atomic:原子性性,多线程下操作安全。默认是atomic;