国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

        }

    };


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连云港市| 莱州市| 威远县| 乐业县| 阿拉善右旗| 临高县| 东源县| 新余市| 屏山县| 乌恰县| 大港区| 成安县| 龙陵县| 奇台县| 永州市| 青阳县| 库尔勒市| 湖南省| 凤山市| 大庆市| 丹江口市| 平武县| 南陵县| 永兴县| 河南省| 贵阳市| 宜章县| 香格里拉县| 台山市| 湄潭县| 仁怀市| 尉氏县| 金秀| 新兴县| 潼南县| 新民市| 泌阳县| 南宁市| 南阳市| 全椒县| 河东区|