關(guān)于Block的一個經(jīng)典bug

之前常常遇到block的循環(huán)引用問題,就稍微研究了一下,block對于訪問外部對象類型有嚴格的限制,通常會使用__block,__week修飾一下,然而這二者也還是有區(qū)別的,具體后期補上
先說遇到的問題

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.itdecent.cn/p/8995a60384fd

http://www.itdecent.cn/p/a19f6dbb14da

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng),在此記錄下我的查閱學(xué)習(xí)歷程,感謝各位原創(chuàng)作者的無私奉獻 ! 技術(shù)一點一點積...
    遠航的移動開發(fā)歷程閱讀 11,527評論 12 197
  • 前言 Blocks是C語言的擴充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這...
    小人不才閱讀 3,851評論 0 23
  • 今天算是正式開學(xué) 其實昨天就來了,跟男票出去浪了 這一周沒有課下周開始見習(xí) 深深感覺考研已經(jīng)在我生活中了 同學(xué)們都...
    _Misty_閱讀 71評論 2 0
  • 鄉(xiāng)親們父老們,大家好,這是咱九組第一次的介紹,希望喜歡的鼓個掌,有人捧個人場,沒人就點個贊\(≧≦)/ 首先我要介...
    1a7c398bff4d閱讀 832評論 0 0
  • 首次(或者安裝新版本)pod realm的時候,會下載sync-cocoa,core文件,這兩兒文件有點大,所以p...
    Chakery閱讀 2,524評論 0 1

友情鏈接更多精彩內(nèi)容