strong、weak、unsafe_unretained、autoreleasing、copy说明
- strong 指针的默认类型。该指针指向的对象在指针存活期间一直存在,不会被销毁。
- weak 当没有strong指针指向对象时,weak指针指向的对象将被销毁,同时weak指针为变为nil。
- unsafe_unretained 该指针指向的对象销毁时,该指针不会被置为nil,而是被挂起(类似野指针)。
最好别用
- autoreleasing 一般指向函数的参数类型为
id *
并且自动释放的参数。 - copy 类似strong,但是会复制一份新的对象(即指向新的内存地址),新指向的对象存活期同strong。