代码:

- (void)doTest {
NSBlockOperation * bop = [NSBlockOperation blockOperationWithBlock:^{
if (!bop.isCancelled) {
// ...
// doSomething
} }]; [mQueue addOperation:bop];
}

这段代码是有明显问题的,如果用Analyze来检查的话,就会有警告Variable 'bop' is uninitialized when captured by block.

其实很简单,问题出在block内部对于bop的使用上. 在进入block的时候,bop是一个未初始化的变量.

解决方法很简单,加上__block修饰为block变量就好了.

- (void)doTest {
__block NSBlockOperation * bop = [NSBlockOperation blockOperationWithBlock:^{
if (!bop.isCancelled) {
// ...
// doSomething
} }]; [mQueue addOperation:bop];
}

最新文章

  1. [译]ZOOKEEPER RECIPES-Barriers
  2. jQuery中.parent和.parents的区别
  3. antuomake 生成configure的使用
  4. JS拖拽原理
  5. ios专题 - CocoaPods - 初次体验
  6. 感知机和线性单元的C#版本
  7. SDL 2.0 如何在 windows 上使用?
  8. MARKY一下。
  9. 安装python3
  10. leetcode144-先序遍历非递归实现
  11. [Oracle]快速生成大量模拟数据的方法
  12. What Would you Find out about MS908CV ?
  13. vuex实践之路——笔记本应用(三)
  14. Android设置横屏竖屏
  15. kafka系列 -- 基础概念
  16. 用Execute操作数据库
  17. css继承和层叠
  18. 【我的Android进阶之旅】 RxJava 理解Backpressure并解决异常 rx.exceptions.MissingBackpressureException
  19. 排除maven jar冲突 maven tomcat插件启动报错 filter转换异常
  20. jdbc 中 excute executeUpdate的用法作用

热门文章

  1. 【HIHOCODER 1529】 不上升序列
  2. JAVA面向过程VS面向对象
  3. UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 167: illegal multibyte sequence
  4. addEvenListener('DOMContentLoaded',function(){})
  5. centos 部署 自定义(succes)
  6. AVL树总结
  7. Java-计算程序运行时间
  8. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) 菜鸡只会ABC!
  9. 自定义Title
  10. SoapUI offen used scripts