ブロック内から呼び出した関数が「自己」を参照すると、保持サイクルが発生しますか?
__weak id weakSelf = self;
- (void)firstFunction
{
id strongSelf = weakSelf;
if (!strongSelf) return;
[anObject performBlock:^{
[strongSelf secondFunction];
}];
}
- (void)secondFunction
{
[self doSomeCrazyStuff];
self.counter++;
//etc.
}
「secondFunction」で「self」を呼び出しています。この関数に弱いポインターを渡して代わりに使用する必要がありますか?