リストを持つコレクションビューコントローラーがあります。新しいView Controllerでアイテムを開きます:
self.detailController = [_theStoryboard instantiateViewControllerWithIdentifier:@"DetailController"];
//init data
[self presentViewController:_detailController animated:YES completion:nil];
モーダル ビューが正しく読み込まれます。ただし、このビューを閉じて別のアイテムを開くと、次のエラーが発生します。
*** -[DetailViewController isKindOfClass:]: message sent to deallocated instance 0xb3e2200
デバッグを通じて、viewcontrollers を nslog しました:
NSLog(@"controller:%@", _detailController);
[self presentViewController:_detailController animated:YES completion:nil];
出力:
controller:<DetailViewController: 0xb3e2200> //first item
controller:<DetailViewController: 0xa3d0a00> //second item
//error here, because it attempts to present the view controller at address 0xb3e2200, instead of the second item.
なぜこれが起こっているのかについて誰か提案を提供できますか? これは iPad シミュレーターでのみ発生しますが、何らかの理由で iPhone 版でも意図したとおりに動作します...?