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

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

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

2019-11-09 18:34:13
字體:
來源:轉載
供稿:網友

__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);

        }

    };


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盱眙县| 五台县| 德庆县| 军事| 凤凰县| 赤城县| 谢通门县| 汝南县| 西盟| 仁布县| 应用必备| 蚌埠市| 云霄县| 若羌县| 梁河县| 屯门区| 哈密市| 宁晋县| 澄城县| 阿图什市| 沙雅县| 登封市| 玉溪市| 隆回县| 张家口市| 嘉兴市| 南靖县| 桑日县| 灯塔市| 牙克石市| 驻马店市| 察隅县| 腾冲县| 织金县| 崇义县| 盐源县| 奉新县| 大关县| 自治县| 辰溪县| 定安县|