iOS开发iOS移动开发iOS 开发

在block函数中规避警告信息 "capturing

2015-05-09  本文已影响1316人  xuejunjun

以形如

_fontValueChangedBlock = ^(){

[self.fontSmallButton addTarget:self action:@selector(btnFontSmallClicked) forControlEvents:UIControlEventTouchUpInside];

};

的代码为例,这个代码运行会报警告。"capturing self strongly in this block is likely to lead to a retain cycle

要想消除这个警告,需要将代码改为如下形式:

__weak typeof(self) weakSelf = self;

_fontValueChangedBlock = ^(){

typeof(weakSelf) __strong strongSelf = weakSelf;

[strongSelf.fontSmallButton addTarget:strongSelf action:@selector(btnFontSmallClicked) forControlEvents:UIControlEventTouchUpInside];

};

上一篇 下一篇

猜你喜欢

热点阅读