ビューコントローラーをモーダルに提示しようとしています:
- (IBAction)addReference {
ReferenceAddViewController *referenceAddViewController = [[ReferenceAddViewController alloc] initWithNibName:@"ReferenceAddViewController" bundle:nil];
[referenceAddViewController setDelegate:self];
[self presentModalViewController:referenceAddViewController animated:YES];
[referenceAddViewController release];
}
ただし、[referenceAddViewController release] を呼び出すと、後でモーダル ビューが閉じられたときに、「[CALayer release]: message sent to deallocated instance 0x4b90370」でアプリがクラッシュします。
Instruments でスタック トレースと参照カウント履歴を実行しても、決定的な結果は得られず、履歴ステップは 2 つしかありませんでした。
- 0: カウント 1 を保持 - コード内の presentModalViewController による Malloc。
- 1: 保持カウント -1 - main.m 以外のコードには何もありません
参照カウントが 1 から -1 にスキップする方法は非常に興味深いですか? Instruments はすべての参照カウントの変更を記録しますか?
この問題をさらにデバッグするにはどうすればよいですか?