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

Swift - WatchKit: How to get data back to the root view controller?

假设我有三个接口控制器,它们都通过推送转接链接。

InterfaceController1 -pushSegue-> InterfaceController2 -pushSegue-> InterfaceController3

InterfaceController1 有 table,它将容纳下面 class 的数据。

所以,假设我有 class:

class manageData {
    var data1:String?
    var data2:String? 
}

而这个 class 应该保存来自 InterfaceController2InterfaceController3 的数据。

因此 InterfaceController1 创建了一个 manageData 对象并使用 contextForSegueWIthIdentifier 方法将其传递给 InterfaceController2。 InterfaceController2 然后将其数据添加到 manageData 对象,并使用 contextForSegueWIthIdentifier 方法将其传递给 InterfaceController3。

现在我的问题是,一旦 InterfaceController3 将它的数据添加到对象中,我如何将完整的对象传递回 InterfaceController1 并填充数据,以便 InterfaceController1 可以将数据添加到 table?希望我已经说得够清楚了。我没有任何实际代码来表示它,因为我还不知道如何实现它。

所以我解决这个问题的方法是创建一个单例 class 来保存我在不同控制器中的所有数据。然后当我到达最后一个控制器并将我的数据发送到单例时,我弹出回根控制器。

当我回到根控制器时,在唤醒方法中,我调用了一个名为 loadTableData() 的函数,该函数会在单例唤醒时自动从单例中获取信息并将其加载到 table.目前似乎工作得很好,但我不知道这种方法可能会带来任何潜在问题。