我有一个嵌入在 UINavigationController
中的“Master”UITableViewController
和一个“Detail”UIViewController
。
在主导航栏上,我有一个“添加”按钮,该按钮可以转到“详细信息” View ,该 View 在导航栏上有一个“保存和取消”按钮。
表格单元格也转至相同的详细信息 View ,并在 prepareForSegue
方法中传递数据。
详细信息 View 中保存按钮的展开转场方法需要:
- 如果使用添加按钮显示详细信息 View ,则向主表添加新行,或者
- 修改所选行的数据(如果用于显示详细信息 View )
我不明白的是如何区分展开方法中的两个源......
也许我的处理方式是错误的,但任何帮助将不胜感激!
最佳答案
您可以将“源”参数添加到“详细信息” View Controller ,并在访问它时为其指定一个值。这可以在prepareForSegue方法中完成:
DetailViewController* destinationController = (DetailViewController *)segue.destinationViewController;
destinationController.source = value
然后您可以根据源的值采取行动。这可能不是最优雅的方式,但它应该有效。
---编辑:---
如果您的“详细信息” View Controller 以模态方式呈现,您也可以尝试使用 [selfpresentingViewController]。这应该为您提供呈现它的 View Controller ,您可以尝试使用 isKindOfClass 进行区分?
关于ios - 根据来源不同,Unwind Segue 也不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34194978/