我确信这有一个简单的答案,但我似乎无法找到它(可能会搜索错误的术语)。无论如何,我确信有更好的方法来做到这一点:
我从我的homeViewController(应用程序加载时的第一个屏幕)调用一个模态视图,允许用户添加新项目)。非常直截了当。我还在编辑项目时从detailViewController调用SAME模态视图。
现在,我有一个取消操作(在添加模态视图上),看起来像这样(在homeViewController中):
- (IBAction)cancel:(UIStoryboardSegue *)segue;
{
if ([[segue identifier] isEqualToString:@"CancelInput"]) {
[self dismissViewControllerAnimated:YES completion:NULL];
}
}
这很好用,但是,如果我从细节控制器调用相同的模态视图并单击此SAME按钮,它不会将模态展开到详细信息页面,而是放到homeViewController。理想情况下,我希望应用程序在这种情况下放松到详细信息屏幕。我设法通过将上面的代码放在detailViewController中解决它,它的工作原理。但我觉得必须有一个更好的解决方案。这是一小段代码,但保存的代码会更长,并且代码的重复似乎是不必要的。有什么更好的方法呢?我应该将取消方法添加到应用代理吗?这似乎很快就会变得混乱,并且(在我看来)打破了MVC模式。
另外,我正在为这个应用程序使用故事板...这是值得的。
由于