【问题标题】:Different Unwind Segue depending on source不同的 Unwind Segue 取决于来源
【发布时间】:2015-12-10 06:16:57
【问题描述】:

我在 UINavigationController 和一个“详细信息”UIViewController 中嵌入了一个“大师”UITableViewController。

在主导航栏上,我有一个“添加”按钮,它与导航栏上有一个保存和取消按钮的详细视图相连接。

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

详细视图中保存按钮的展开转场方法需要:

  1. 如果添加按钮用于显示详细信息视图,则向主表添加新行或
  2. 如果所选行用于显示详细信息视图,请修改该行的数据

我想不通的是如何区分 unwind 方法中的两个来源...

也许我的方法不对,但我们将不胜感激!

【问题讨论】:

    标签: ios swift uitableview uinavigationcontroller segue


    【解决方案1】:

    您可以向“Detail”视图控制器添加一个“source”参数,并在您对其进行 segue 时为其指定一个值。这可以在 prepareForSegue 方法中完成:

    DetailViewController* destinationController = (DetailViewController *)segue.destinationViewController;
    destinationController.source = value
    

    然后你可以根据来源的价值采取行动。这可能不是最优雅的方式,但应该可以。

    ---编辑:---

    如果您的“详细”视图控制器以模态方式呈现,您也可以尝试使用 [self presentingViewController]。这应该为您提供呈现它的视图控制器,您可以尝试使用 isKindOfClass 进行区分吗?

    【讨论】:

    • 是的,我正在考虑这个问题,但这似乎是一件很常见的事情,会有更好的解决方案......
    • 我已经对答案进行了编辑,但替代方法只能用于模态视图控制器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多