国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

__weak修飾后再block中使用__strong修飾問題

2019-11-09 19:04:54
字體:
來源:轉載
供稿:網友

__weak修飾后再block中使用__strong修飾問題

ARC環境中使用weak 的修飾符來修飾一個變量,防止其在block中被循環引用,而有些特殊情況下,我們在block中又使用__strong 來修飾這個在block外剛剛用__weak修飾的變量,這是因為在block中調用self會引起循環引用,而在block中需要對weakSelf進行__strong,保證代碼在執行到block中,self不會被釋放,當block執行完后,會自動釋放該strongSelf;

如在AFNetworkReachabilityManager中使用的代碼如下:

__weak __typeof(self)weakSelf = self;

    AFNetworkReachabilityStatusBlock callback = ^(AFNetworkReachabilityStatus status) {

        __strong __typeof(weakSelf)strongSelf = weakSelf;

        strongSelf.networkReachabilityStatus = status;

        if (strongSelf.networkReachabilityStatusBlock) {

            strongSelf.networkReachabilityStatusBlock(status);

        }

    };


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林州市| 滨州市| 长沙市| 故城县| 重庆市| 鱼台县| 屯昌县| 海阳市| 九江县| 淮南市| 句容市| 吉林省| 观塘区| 阿鲁科尔沁旗| 呼伦贝尔市| 琼中| 中方县| 磴口县| 本溪| 贵溪市| 巴楚县| 建阳市| 绥阳县| 广饶县| 盐边县| 昭苏县| 辽宁省| 娄底市| 民权县| 防城港市| 嘉义市| 顺平县| 呼伦贝尔市| 淮南市| 盘山县| 陇西县| 凤翔县| 枣庄市| 安龙县| 绥棱县| 普安县|