objective-c(iOS5) 中weak和strong使用的区别
强引用也就是我们通常所讲的引用,其存亡直接决定了所指对象的存亡。如果不存在指向一个对象的引用,并且此对象不再显示列表中,则此对象会被从内存中释放。
弱引用除了不决定对象的存亡外,其他与强引用相同。即使一个对象被持有无数个弱引用,只要没有强引用指向他,那麽其还是会被清除。没办法,还是 “强哥” 有面子。
weak比assign多了一个功能,当对象消失后自动把指针变成nil,好处不言而喻。
__strong 是缺省的关键词。
__weak 声明了一个可以自动 nil 化的弱引用。
__unsafe_unretained 声明一个弱引用,但是不会自动nil化,也就是说,如果所指向的内存区域被释放了,这个指针就是一个野指针了。
__autoreleasing 用来修饰一个函数的参数,这个参数会在函数返回的时候被自动释放。
转载于:https://blog.51cto.com/memory/1175355
objective-c(iOS5) 中weak和strong使用的区别相关推荐
- 【iOS atomic、nonatomic、assign、copy、retain、weak、strong】的定义和区别详解
一.atomic与nonatomic 1.相同点 都是为对象添加get和set方法 2.不同点 atomic为get方法加了一把安全锁(及原子锁),使得方法get线程安全,执行效率慢 nonatomi ...
- @synthesize@dynamic@private,@protected,@publicassign、weak、strong、retain、copy、nonatomic、atomic
iOS属性修饰关键字 1. @private,@protected,@public,@package详解及使用 @privite:私有的,只有本类(不包括子类)自己拥有 @protected:受保护的 ...
- ios5中apple增加了解析JSON的api——NSJSONSerialization。
ios5中apple增加了解析JSON的api--NSJSONSerialization.网上已经有人做过测试,NSJSONSerialization在效率上完胜SBJSON.TouchJSON.YA ...
- iOS属性之assign,copy,retain的区别以及weak和strong的区别
为什么80%的码农都做不了架构师?>>> @property (nonatomic, assign) NSString *title; 什么是assign,copy,retai ...
- 1.1 objective-c中的内存管理
备注:本来在一年前有一个出版社找到我,让我写一系列关于iOS性能优化的书.但是一直因为工作原因,没有能够按时交付.(其实就是自己懒)所以现在讲已经写好的部分章节分享到博客中,希望对大家有所帮助,如果有 ...
- iOS5中 UIViewController新方法的使用
在iOS5中,ViewController中新添加了下面几个方法: addChildViewController: removeFromParentViewController transitio ...
- HTML中粗体strong与b,斜体em与i标签的区别
1)关于html标签中b和strong两个的区别,我也是今天用到时才注意的,以前都是混着用的,今天工作的时候才注意到这两个标签的区别. 用在网页上,默认情况下它们起的均是加粗字体的作用,二者所不同的是 ...
- HTML中id、name、class 区别
HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio 而id必须是全文档中唯一的 id的用途 1) id是HTML元素的Identity,主要是在客 ...
- HTML5中id、name、class 区别
转载地址:http://www.2cto.com/kf/201210/161751.html 网上找不到专门针对html5的,只能找到以前HTML的.看了一下,它们差不多,尤其是本文后面专门讲的区别讲 ...
最新文章
- ADO.NET五大对象详解
- Angularjs切换网站配色模式简单示例2(切换body元素的class)
- NodeJS 使用官方oracledb库连接数据库教程
- 比较大小教案计算机西瓜,比较大小小班教案
- Python图像纹理分割
- window上安装fasttext
- P问题、NP问题、NPC问题、NPC-hard问题
- 苹果NFC功能以及Apple Pay的初探
- 洛谷 P5708 三角形面积 C语言
- Python爬虫入门教程导航帖
- svn提交代码报错:A conflict in the working copy obstructs the current operation,解决办法
- CCNA,CCNP,CCIE是什么?
- C语言简单实现文件传输
- Python地学分析 — 地理空间参考系介绍
- 蜂蜜什么时候喝,才可以获得蜂蜜更大的好处?真可以治疗咳嗽?
- BHex宣布完成1500万美元天使轮融资
- 商标和美术版权的区别?版权登记的好处
- 联想电脑 关闭打开机盖自动开机功能
- easyUI 滚动条
- revit开发__电缆桥接截面分布