码迷,mamicode.com
首页 > 其他好文 > 详细

OC 中的block使用

时间:2015-06-23 19:53:29      阅读:87      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!