在网络请求中
如下代码:
代码一:
[[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 里面的东西了。推荐使用代码二。