美文网首页
关于Block的一个经典bug

关于Block的一个经典bug

作者: 元昊 | 来源:发表于2017-09-18 15:13 被阅读11次

之前常常遇到block的循环引用问题,就稍微研究了一下,block对于访问外部对象类型有严格的限制,通常会使用__block,__week修饰一下,然而这二者也还是有区别的,具体后期补上
先说遇到的问题

ProductDetailVC *productVC = [[ProductDetailVC alloc] init];

            
            goodsCell.selectBolck = ^(NSUInteger index) {
              
                
                GolbalGoodsModelgoods *goods = _golbalGoodsArr[index];
                
                productVC.pro_id = goods.pro_id;
                
                [self.navigationController pushViewController:productVC animated:YES];
                
            };

这是一开始的代码,每次取到的pro_id都是不同的,但是没次打开都是一个pro_id,回头想一下才明白还是block引用的问题。

 goodsCell.selectBolck = ^(NSUInteger index) {
              
                ProductDetailVC *productVC = [[ProductDetailVC alloc] init];
                
                GolbalGoodsModelgoods *goods = _golbalGoodsArr[index];
                
                productVC.pro_id = goods.pro_id;
                
                [self.navigationController pushViewController:productVC animated:YES];
                
            };

如此便解决

参考链接:
http://www.jianshu.com/p/8995a60384fd

http://www.jianshu.com/p/a19f6dbb14da

相关文章

  • 关于Block的一个经典bug

    之前常常遇到block的循环引用问题,就稍微研究了一下,block对于访问外部对象类型有严格的限制,通常会使用__...

  • iOS Block截获变量

    什么是Block block是将函数及其执行上下文封装起来的对象 关于Block截获变量 来看这道经典的block...

  • 我用四天时间改了一行代码

    最近手头分来了一个bug,该bug很诡吊,一行代码的改动,花了四天时间,因为该Bug会block出货,项目经理每天...

  • IOS block 给自己买的坑

    给自己埋得坑,含泪吞下 昨天改一个小的BUG,由于使用了block,不小心改一个新的BUG 来,debug好久才找...

  • Block经典问题循环引用&解决

    Block内存关系Block经典问题循环引用&解决Block底层分析Block底层HooK 1.循环引用怎么产生的...

  • Block探索

    Block内存关系Block经典问题循环引用&解决Block底层分析Block底层HooK 程序占用内存分类 栈区...

  • Block底层分析

    Block内存关系Block经典问题循环引用&解决Block底层分析Block底层HooK 1. 研究工具:cla...

  • iOS面试之Block大全

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS面试之Block模块

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • Block底层hook

    Block内存关系Block经典问题循环引用&解决Block底层分析Block底层HooK 前言 如何反编译出微信...

网友评论

      本文标题:关于Block的一个经典bug

      本文链接:https://www.haomeiwen.com/subject/gwkbsxtx.html