我正在 Apple iOS 开发者网站上做“你的第二个 iOS 应用程序”教程:https ://developer.apple.com/library/ios/documentation/iPhone/Conceptual/SecondiOSAppTutorial/CreatingAddView/CreatingAddView.html#//apple_ref /doc/uid/TP40011318-CH6-SW4
它有一个带有表的 MasterViewController,连接到一个允许用户向表中添加新对象的 AddSightingViewController。在 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!
我不确定我完全理解dismissViewControllerAnimated 的作用。我猜它会解雇 AddSightViewController 因为用户完成了添加一个新对象,但它不应该是 [addController dissmissViewController.....] 还是什么?