您的位置:首页 > 其它

关于block的强弱引用问题

2016-04-12 09:46 225 查看


在网络请求中

如下代码:


代码一:



[[PHNetWorkService shareInstance] netWorkUrl:_httpUrl DataSource:dic Block:^(BOOL isSuccess, NSString *msg,
id result) {

[self XXXXX];

self.xxx取不到数据。
}];

代码二:

__weak typeof(&*self) weakSelf = self;

[[PHNetWorkService shareInstance] netWorkUrl:_httpUrl DataSource:dic Block:^(BOOL isSuccess, NSString *msg, id result) {

__strong typeof(&*weakSelf) strongSelf = weakSelf;

[strongSelf XXXX];
strongSelf.xxxx有数据。
}];

用这个形式在block的回调方法里self不会被释放掉,如果直接食用self掉方法会,self会被释放了,取不到self 里面的东西了。推荐使用代码二。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: