iOS ARC环境下dealloc的使用
来源:互联网 发布:18rmmd动作数据 编辑:程序博客网 时间:2024/05/29 19:26
众所周知,iOS开发的时候,使用ARC的话,dealloc函数是不需要实现的,写了反而会出错。
但有些特殊的情况,dealloc函数还是需要的。
比如,在画面关闭的时候,需要把ViewController的某些资源释放,
在viewDidDissppear不一定合适,viewDidUnload一般情况下只在memory warning的时候才被调用。
不用ARC的情况下,我们自然会想到dealloc函数。
其实ARC环境下,也没有把dealloc函数禁掉,还是可以使用的。只不过不需要调用[supper dealloc]了。
举个例子,画面上有UIWebView,它的delegate是该画面的ViewController,在WebView载入完成后,需要做某些事情,比如,把indicator停掉之类的。
如果在WebView载入完成之前关闭画面的话,画面关闭后,ViewController也释放了。但由于WebView正在载入页面,而不会马上被释放,等到页面载入完毕后,回调delegate(ViewController)中的方法,由于此时ViewController已经被释放,所以会出错。(message sent to deallocated instance)
解决办法是在dealloc中把WebView的delegate释放。
-(void)dealloc {
self.webView.delegate = nil;
}
0 0
- iOS ARC环境下dealloc的使用
- iOS ARC环境下dealloc的使用
- iOS ARC环境下dealloc的使用
- iOS ARC环境下dealloc的使用
- iOS ARC环境下dealloc的使用
- iOS 在 ARC 环境下 dealloc 的使用、理解误区
- iOS 在 ARC 环境下 dealloc 的使用、理解误区
- iOS开发 ARC下dealloc的使用
- arc 环境下的dealloc方法
- IOS-ARC下dealloc的作用
- arc 下的dealloc
- iOS开发高级面试题-ARC下dealloc的作用
- IOS开发之 ---- ARC下的Dealloc保留原因[转]
- iOS在ARC下保留dealloc的原因
- iOS —— ARC、MRC 下dealloc 方法存在的意义
- ARC下dealloc过程及.cxx_destruct的探究
- ARC下dealloc过程及.cxx_destruct的探究
- ARC下dealloc过程及.cxx_destruct的探究
- 自旋锁spinlock
- python 转码报错decoding Unicode is not supported
- 高仿小米日历,美柚日历,支持月周切换,支持scrollview、listview等拖动切换
- NandFlash控制器参数TACLS、TWRPH0和TWRPH1的确定
- MFC绘图常用
- iOS ARC环境下dealloc的使用
- 如何优化SQL语句
- Linux htop工具使用详解
- usaco ★Longest Prefix 最长前缀
- tensorflow学习笔记(二十):分布式注意事项
- Warning: The Copy Bundle Resources build phase contains this target's Info.plist file
- iOS轮子: 下拉刷新,上拉加载更多
- 【JZOJ4894】【NOIP2016提高A组集训第16场11.15】SJR的直线
- C#练习--库存管理