私は、ブロックとリテイン サイクルを作成する可能性について少し妄想的になりました。UIAlertView
デリゲート メソッドの代わりにブロックを使用できるようにするクラスのブロック ベース バージョンを使用しています。私はこれらの Alertviews を多く使用しているため、多くの面倒な作業を行うインスタンス メソッドを呼び出すことがよくあります。
メソッドで行った割り当てsomeInstanceMethod
によって保持サイクルが発生しますか?
(メモリ管理に ARC を使用しています。)
__weak id weakSelf = self;
[doWorkAndThen:^{
[weakSelf someInstanceMethod];
}];
-(void) someInstanceMethod{
//will either of the assignments below cause a retain cycle?
self.iVar = @"data";
[self setIvar:@"data";
}