Apple iOS 開発者サイトで「Your Second iOS App」チュートリアルを行っています: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/SecondiOSAppTutorial/CreatingAddView/CreatingAddView.html#//apple_ref /doc/uid/TP40011318-CH6-SW4
これには、ユーザーが新しいオブジェクトをテーブルに追加できるようにする AddSightingViewController に接続された、Table を持つ MasterViewController があります。MasterViewController では、ユーザーが AddSightingViewController でオブジェクトの作成を完了したときに呼び出される次のメソッドを実装する必要がありました。
- (IBAction)done:(UIStoryboardSegue *)segue
{
if ([[segue identifier] isEqualToString:@"ReturnInput"]) {
AddSightingViewController *addController = [segue sourceViewController];
if (addController.birdSighting) {
[self.dataController addBirdSightingWithSighting:addController.birdSighting];
[[self tableView] reloadData];
}
[self dismissViewControllerAnimated:YES completion:NULL];
}
}
しかし、このコードが呼び出されると、次の警告が表示されます。
Warning: Attempt to dismiss from view controller <UINavigationController: 0x8961f10> while a presentation or dismiss is in progress!
disconnectViewControllerAnimated が正確に何をするのか理解できません。ユーザーが新しいオブジェクトの追加を完了したため、AddSightViewController を却下すると思いますが、[addController dissmissViewController.....] か何かではないでしょうか?