首页 > 代码库 > block,__bridge_retained代码试例
block,__bridge_retained代码试例
typedef void (^dd)(void);
@property (strong) dd a ;
@property (copy) dd a ;
__weak id b=self;
self.a=^{
NSLog(@"%@",self);
};
编译器都会有警告:循环引用造成的内存泄露
---------------------------------------------------
CFMutableArrayRef cfObject = NULL;
{
id obj = [[NSMutableArray alloc] init];
cfObject = (__bridge_retained CFMutableArrayRef)obj;
NSLog(@"%lo ng-",CFGetRetainCount(cfObject));
//__weak id oo=obj;
void (^dd)(void)=^{
NSLog(@"%@",obj);
};
//dd();
NSLog(@"%lo ng---",CFGetRetainCount(cfObject));
//CFRelease(cfObject);
}
NSLog(@"%lo ng---",CFGetRetainCount(cfObject));
被block捕获的变量都会被retain.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。