解决Block弱引用可能造成的循环引用

1.__weak typeof(self) myself = self;

2.__weak RecommendViewController *recommendVC = self;

以上两种写法是一种效果

 
typeof(self) 是获取到self的类型,这样定义出的weakSelf就是和self一个类型的, 加上__weak是建立一个若引用,整句就是给self定义了一个若引用性质的替身;
这个一般用在使用block时会用到,因为block会copy它内部的变量,可能会造成引用循环,使用__weak性质的self替代self,可以切断block对self的引用,避免循环引用 

posted on 2016-01-06 22:14  少勇  阅读(155)  评论(0编辑  收藏  举报

导航