Block强引用,weakSelf与strongSelf修饰

使用Block的时候,一般通常都会使用weakSelf与strongSelf修饰。(其实我一直都是在外部使用weakSelf修饰,难道strongSelf被吃了吗?)

__seakSelf typeof(self) weakSelf = self;

[self doSomeBlock:^{

         __strongSelf typeof(weakSelf) strongSelf = weakSelf;

        if(strongSlef){....}

}]

在block中需要对weakSelf进行strong,保证代码在执行到block中,self不会被释放,当block执行完后,会自动释放该strongSelf。

除了__weakSelf外,还有就是强行将block置成nil,打破循环链。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容