如何将数据传回 Watchkit 中的接口控制器

Posted

技术标签:

【中文标题】如何将数据传回 Watchkit 中的接口控制器【英文标题】:How to pass data back to an interface controller in Watchkit 【发布时间】:2017-03-20 20:01:15 【问题描述】:

我知道这个问题被问了很多,但似乎没有人给出正确的答案。

我有一个带有表格的接口控制器。现在,当用户选择一行时,我将信息推送到新的接口控制器 self.pushController(withName: "DetailInterfaceController", context: context) 。现在在新的 DetailInterfaceController 中,我可以在 awake(withContext context: Any?) 中非常轻松地访问我的上下文。到目前为止,一切都很好。用户应该更改上下文中的某些内容,然后将上下文发送回之前的接口控制器。我使用委托模式来做到这一点。我以为我可以像在 ios 中一样使用它。但是我遇到了代表的问题。我找不到设置委托的方法。 Watchkit 不允许您只创建接口控制器的实例(我通常在 ios 中这样做)。

我试过了:

https://makeapppie.com/2015/05/29/swift-watchkit-introducing-navigation-to-the-apple-watchpart-4-dismissals-and-segues/

还有这个:

http://koreyhinton.com/blog/watchkit-delegates-and-contexts.html

但是我有一个来自编译器的错误,我不能向下转换我的上下文。

我简直不敢相信手表套件中没有办法设置代表!这似乎很荒谬。我在 ios 中经常使用委托模式。

有人可以告诉我一种可以做到这一点的方法吗?或者它根本无法在 Watchkit 中完成?

【问题讨论】:

【参考方案1】:

如果链接中建议的解决方案不适合您,您可以使用 Notifications 和 NotificationCenter 来传递数据。

【讨论】:

以上是关于如何将数据传回 Watchkit 中的接口控制器的主要内容,如果未能解决你的问题,请参考以下文章

Swift - WatchKit:如何将数据返回到根视图控制器?

如何使用 WatchKit 更新 UI?

Obj-C:从导航控制器中的 detailViewController 传回参数

反转Segue时如何将信息传回iOS?

Xcode 6.2 beta 4 是不是使带有页面的 watchKit 接口无法打开推送的接口?

当用户在 Table View 行上的选项卡时需要将数据传递给 Watchkit 中的另一个详细界面控制器