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来声明将之放到自动释放池。
相关文章推荐
- iOS事务的基本概念
- iOSXcode7真机免证书调试
- IOS静音还是震动
- iOS 自定义TabBarController
- Github上600多个iOS开源项目
- IOS设置View的背景图片
- 框架
- iOS应用开发中实现页面跳转的简单方法笔记
- iOS开发第三方介绍之一Masonry
- iOS 如何连接打印机
- Ios 调用打印机2
- iOS 调用打印机
- edgesForExtendedLayout ios7新特性
- iOS-线程&&进程的深入理解
- iOS知识小集 第一期
- iOS中常用的四种数据持久化方法简介
- 蓝懿IOS学习音频播放
- iOS开发的小技巧(断点打印)
- iOS 基础知识
- JS判断客户端是否是iOS或者Android