关于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 里面的东西了。推荐使用代码二。
相关文章推荐
- linux 网络协议栈
- 排序算法复习
- ref与out的区别
- ViewConfiguration.getScaledTouchSlop () 用法
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1157 > 1024).
- ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
- 架构高性能网站秘笈(六)——负载均衡
- Git使用详细教程
- JavaWeb总结(五)—Cookie
- iOS开发--浅谈CocoaAsyncSocket编程
- LoganSquare的简单使用——快到爆炸地解析和序列化JSON
- 微信系统架构
- 编写自己的代码生成工具五:代码生成实现
- SHELL笔记之让文本飞(四)
- 5个最流行的可用于移动开发的嵌入式数据库简介
- eclipse打开报错:Java was started but returned exit code=13
- 《iOS Human Interface Guidelines》——Action Sheet
- Spark1.0.0 开发环境高速搭建
- 互联网+创新是个什么体验?
- 快速掌握grep命令及正则表达式