【发布时间】:2014-02-26 17:10:42
【问题描述】:
我遇到了一个可能相当普遍的问题。在 ARC 环境中,需要引用 self 的块将比 self 寿命长。我知道在块中使用__weak typeof(self) weakSelf = self; 以避免保留周期的约定。问题是我们确实需要保留自我。所以我的问题是:块中对 self 的引用何时创建保留周期? This post post 建议在动画块中,引用 self 是可以的。
我也考虑过类似以下的解决方案,但不确定它会改变什么:
__block typeof(self) blockSelf = self;
[someObj someMethodTakingCallback:^{
//do some stuff
blockSelf = nil;
}];
【问题讨论】:
标签: ios objective-c automatic-ref-counting objective-c-blocks