社区
iOS
帖子详情
新手-delegatew问题
wendy_yt
2014-10-12 02:29:21
1,在dealloc为什么需要写delegate==nil,
2,在viewWillAppear中,为什么需要先调用[super viewWillAppear:YES];
...全文
92
3
打赏
收藏
新手-delegatew问题
1,在dealloc为什么需要写delegate==nil, 2,在viewWillAppear中,为什么需要先调用[super viewWillAppear:YES];
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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多本培训书籍集-到高手必备 从构筑服务器到指令到系统服务到精通晋阶到网络到编程到安全到嵌入式开发到.... 让您从
新手
到高手到过程缩短,如虎添翼.
Android 文本阅读器源代码
初学Android,开发了一款简单的阅读器, 作为
新手
入门的参考, 共享以方便大家入门.
java-
新手
入职实战系列-powerdesigner数据库设计实战
专为java
新手
入职 打造的 入职系列课程第一篇章 数据库设计 实战彻底打通java
新手
的任督二脉,让java
新手
在入职初期不在困惑
C/C++
新手
看过来----
新手
问题
汇总分析
分析C/C++代码的常见基本错误
问题
Python:
新手
错误------invalid syntax
Python:
新手
错误------invalid syntax Python刚刚上手在图书馆借了一本人民邮电的《Python核心编程》,结果才第一个程序就出
问题
了,看了半天也没看出原因,Google了一下,才明白是版本
问题
,python编译器书上使用的是2.多的版本,我用的是3.3.2的才会出错。 上图存在的
问题
是python3.多的版本以后要求prin
iOS
29,030
社区成员
12,467
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章