您的位置:首页 > 移动开发 > IOS开发

ios copy/strong/weak..使用总结

2016-02-02 10:14 260 查看

总结

关于属性的这些选项的学习,做一下总结:

所有的属性,都尽可能使用
nonatomic
,以提高效率,除非真的有必要考虑线程安全。

NSString:通常都使用
copy
,以得到新的内存分配,而不只是原来的引用。

strong:对于继承于NSObject类型的对象,若要声明为强使用,使用
strong
,若要使用弱引用,使用
__weak
来引用,用于解决循环强引用的问题。

weak:对于xib上的控件引用,可以使用weak,也可以使用strong。

__weak:对于变量的声明,如果要使用弱引用,可以使用__weak,如:__weak typeof(Model) weakModel = model;就可以直接使用weakModel了。

__strong:对于变量的声明,如果要使用强引用,可以使用__strong,默认就是__strong,因此不写与写__strong声明都是一样的。

unsafe_unretained:这个是比较少用的,几乎没有使用到。在所引用的对象被释放后,该指针就成了野指针,不好控制。

__unsafe_unretained:也是很少使用。同上。

__autoreleasing:如果要在循环过程中就释放,可以手动使用__autoreleasing来声明将之放到自动释放池。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: