IOS中OC的BLOCK问题

今天去面试,面试官问到了oC中的BLOCK问题,然后觉得OC就是一个无名函数,然后使用上没有啥区别啊?


问题就在这:OC的BLOCK中有一个self的东东,这个东西是一个强应用的东东,如果这个self出现在你的block中,那你估计多半死掉了;

所有面试官在问道block的问题时候,最关注这个问题,因为强引用在对象被释放掉,而block没有执行完的时候,self的内容就死在了内存里,只有程序被系统干掉的时候,这一个区域的内存才会被释放。

解决办法就是:

-(void) _week *me = self

block{

..=self

}


将一个弱引用的指针穿进去,因为如引用会在对象释放掉的时候自动释放。


阅读更多
文章标签: BLOCK IOS OC
个人分类: OC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

IOS中OC的BLOCK问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭