1

我确信有一个简单的答案,但我似乎无法找到它(搜索错误的术语,也许)。无论如何,我确信有更好的方法来做到这一点:

我正在从我的 homeViewController(应用程序加载时的第一个屏幕)调用模式视图,允许用户添加新项目)。很直接。在编辑项目时,我还会从 detailViewController 调用 SAME 模式视图。

现在,我有一个取消操作(在添加模式视图上),看起来像这样(在 homeViewController 中):

- (IBAction)cancel:(UIStoryboardSegue *)segue;
{
    if ([[segue identifier] isEqualToString:@"CancelInput"]) {
        [self dismissViewControllerAnimated:YES completion:NULL];
    }
}

这工作得很好,但是,如果我从细节控制器调用相同的模态视图并单击此 SAME 按钮,它不会将模态展开到细节页面,而是展开到 homeViewController。理想情况下,在这种情况下,我希望应用程序放松到详细信息屏幕。我设法通过将上面的代码也放在 detailViewController 中来解决它,并且它可以工作。但我觉得必须有更好的解决方案。这是一小段代码,但保存的代码会长很多,而且代码的重复似乎没有必要。有什么更好的方法来做到这一点?我应该将取消方法添加到应用程序委托吗?这似乎很快就会变得混乱,并打破(在我看来)MVC 模式。

此外,我正在为这个应用程序使用情节提要......这是值得的。

谢谢

4

0 回答 0