社区
iOS
帖子详情
新手-delegatew问题
wendy_yt
2014-10-12 02:29:21
1,在dealloc为什么需要写delegate==nil,
2,在viewWillAppear中,为什么需要先调用[super viewWillAppear:YES];
...全文
98
3
打赏
收藏
新手-delegatew问题
1,在dealloc为什么需要写delegate==nil, 2,在viewWillAppear中,为什么需要先调用[super viewWillAppear:YES];
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
abcd19860127
2014-10-13
打赏
举报
回复
在释放的时候,所有内部变量和属性设置为空,是良好的编码习惯,为了防止内存泄漏,tableview的delegate要置为空,是担心tableview在delegate 的dealloc后,tableview没有释放,还会回调delegate的方法,习惯很重要。 [super viewWillAppear:YES] 不写的时候,分析内存泄漏的时候会有警告,也许在super有一些操作,也许只是一种预测。
ReyZhang
2014-10-12
打赏
举报
回复
1. dealloc主要是处理对象的内存释放。应该是delegate = nil; 这句可以不加,如果是释放其它对象,可以在dealloc中设置对象为nil,这样做的好处时,能保证对象正常释放。为什么说delegate = nil可以不加呢,我们在声明delegate时一般声明为assign ,非retain 2.调用[super viewWillAppear:YES] 这是继承的一个特性,在覆写(override)一个父类的方法时,也可以执行父类中的语句,如果不想执行父类中的语句,这句可不加。
不担心
2014-10-12
打赏
举报
回复
delegate==nil如果不加上这句会造成以当前对象为代理的其他对象调用协议方法时出错的问题,还会造成引用计数器持续保持引用,而不会释放对象的问题. [super viewWillAppear:YES]这个是调用父类的viewWillAppear方法,如果父类的viewWillAppear方法中什么都没写,其实掉不掉用都一样.
Linux
新手
最全10多本培训书籍集-到高手必备
Linux
新手
最全10多本培训书籍集-到高手必备 从构筑服务器到指令到系统服务到精通晋阶到网络到编程到安全到嵌入式开发到.... 让您从
新手
到高手到过程缩短,如虎添翼.
Linux
新手
最全10本培训书籍集-到高手必备
Linux
新手
最全10多本培训书籍集-到高手必备 从构筑服务器到指令到系统服务到精通晋阶到网络到编程到安全到嵌入式开发到.... 让您从
新手
到高手到过程缩短,如虎添翼.
SQL语句基础教程
SQL语句基础教程旨在帮助
新手
和需要复习SQL的资料仓储业界老将,学习SQL基础知识和语法。 SQL指令 -------- SQL指令是SQL语言的基础,用于储存、读取、处理数据库中的资料。常用的SQL指令包括: * SELECT:从...
ESP8266
新手
入门------百家长,附带STM32程序等
嘿嘿,既然你点进来了,那就不会坑你,我也是从
新手
过来的,知道
新手
需要什么,本文让你入门还是没
问题
的,哈哈,扯多了,切入正题: 首先,本例程是用ESP8266-01测试的,其它版本的大同小异,刚拿到模块的第一件事...
C/C++
新手
看过来----
新手
问题
汇总分析
分析C/C++代码的常见基本错误
问题
iOS
29,046
社区成员
12,467
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章