ios - 根据来源不同,Unwind Segue 也不同

标签 ios swift uitableview uinavigationcontroller segue

我有一个嵌入在 UINavigationController 中的“Master”UITableViewController 和一个“Detail”UIViewController

在主导航栏上,我有一个“添加”按钮,该按钮可以转到“详细信息” View ,该 View 在导航栏上有一个“保存和取消”按钮。

表格单元格也转至相同的详细信息 View ,并在 prepareForSegue 方法中传递数据。

详细信息 View 中保存按钮的展开转场方法需要:

  1. 如果使用添加按钮显示详细信息 View ,则向主表添加新行,或者
  2. 修改所选行的数据(如果用于显示详细信息 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/

相关文章:

ios - 使用SafariViewController打开网址时,如果未成功则处理完成

ios - UIPageController 中共享 View 的 UIView 动画

ios - 在 searchBar 上调用 comeFirstResponder 时遇到问题

ios - 计算Xib文件的高度

ios - 3D Peek and Pop 内存泄漏

ios - 在 CLLocationManager 类型的对象上找不到属性坐标

ios - 具有 2 个多行 UILabels/自调整大小 Collection View 单元格的 UICollectionViewCell 高度

swift - 为什么不建议将 UIImage 数据保存到 UserDefaults?

ios - 如何从具有多个条件的数组中删除重复项?

ios - 在自定义 UITableviewCell 中设置图像不会*粘*