以形如
_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];
};