Swift - WatchKit:如何将数据返回到根视图控制器?
Posted
技术标签:
【中文标题】Swift - WatchKit:如何将数据返回到根视图控制器?【英文标题】:Swift - WatchKit: How to get data back to the root view controller? 【发布时间】:2019-11-17 22:27:17 【问题描述】:假设我有三个接口控制器,它们都通过 push segues 链接。
InterfaceController1
-pushSegue-> InterfaceController2
-pushSegue-> InterfaceController3
InterfaceController1 有一个表格,它将存放下面类中的数据。
所以,假设我有课:
class manageData
var data1:String?
var data2:String?
这个类应该保存来自InterfaceController2
和InterfaceController3
的数据。
所以 InterfaceController1 创建了一个 manageData
对象并使用 contextForSegueWIthIdentifier
方法将其传递给 InterfaceController2。 InterfaceController2 然后将其数据添加到 manageData 对象,并使用contextForSegueWIthIdentifier
方法将其传递给 InterfaceController3。
现在我的问题是,一旦 InterfaceController3 将其数据添加到对象,我如何将该完整对象传递回 InterfaceController1 并填充数据,以便 InterfaceController1 可以将数据添加到表中?希望我已经说得够清楚了。我没有任何实际代码来表示这一点,因为我还不知道如何实现它。
【问题讨论】:
【参考方案1】:所以我解决这个问题的方法是创建一个单例类,它在不同的控制器中保存我的所有数据。然后当我到达最后一个控制器并将我的数据发送到单例时,我会弹回根控制器。
当我回到根控制器时,在 awake 方法中,我调用了一个名为 loadTableData()
的函数,它在单例唤醒时自动从单例获取信息并将其加载到表中。现在似乎工作得很好,但我不知道这种方法可能会出现任何潜在问题。
【讨论】:
以上是关于Swift - WatchKit:如何将数据返回到根视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章
如何以swift语言在watchKit中为gyroActive或gyroAvailable编码?
将数据从 Parse tableview 传递到 WatchKit
在Swift中使用WatchKit通过程序设置UIImage动画
在我的 WatchKit 扩展中引用一个 Objective c 类(swift)