首页 > 其他 > 详细

OC 中的block使用

时间:2015-06-23 19:53:16      阅读:177      评论:0      收藏:0      [点我收藏+]

  在iOS的开发过程中,使用块的地方很多也很方便,但是在使用块的过程中要注意内存泄露的问题。

  在块创建的时候,会对块内的所有对象的引用计数加一,直到块销毁,所以在使用块的过程中需要我们进行处理,在这里以AFNetworking的代码举例,代码如下:

  

__weak __typeof(self)weakSelf = self; 
self.backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{ 
    __strong __typeof(weakSelf)strongSelf = weakSelf; 
}]; 

  weakSelf是为了block不持有self,避免循环引用,而再声明一个strongSelf是因为一旦进入block执行,就不允许self在这个执行过程中释放。block执行完后这个strongSelf会自动释放,没有循环引用问题。

OC 中的block使用

原文:http://www.cnblogs.com/pretty-guy/p/4595989.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!