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 应该保存来自 InterfaceController2
和 InterfaceController3
的数据。
因此 InterfaceController1 创建了一个 manageData
对象并使用 contextForSegueWIthIdentifier
方法将其传递给 InterfaceController2。 InterfaceController2 然后将其数据添加到 manageData 对象,并使用 contextForSegueWIthIdentifier
方法将其传递给 InterfaceController3。
现在我的问题是,一旦 InterfaceController3 将它的数据添加到对象中,我如何将完整的对象传递回 InterfaceController1 并填充数据,以便 InterfaceController1 可以将数据添加到 table?希望我已经说得够清楚了。我没有任何实际代码来表示它,因为我还不知道如何实现它。
所以我解决这个问题的方法是创建一个单例 class 来保存我在不同控制器中的所有数据。然后当我到达最后一个控制器并将我的数据发送到单例时,我弹出回根控制器。
当我回到根控制器时,在唤醒方法中,我调用了一个名为 loadTableData()
的函数,该函数会在单例唤醒时自动从单例中获取信息并将其加载到 table.目前似乎工作得很好,但我不知道这种方法可能会带来任何潜在问题。
假设我有三个接口控制器,它们都通过推送转接链接。
InterfaceController1
-pushSegue-> InterfaceController2
-pushSegue-> InterfaceController3
InterfaceController1 有 table,它将容纳下面 class 的数据。
所以,假设我有 class:
class manageData {
var data1:String?
var data2:String?
}
而这个 class 应该保存来自 InterfaceController2
和 InterfaceController3
的数据。
因此 InterfaceController1 创建了一个 manageData
对象并使用 contextForSegueWIthIdentifier
方法将其传递给 InterfaceController2。 InterfaceController2 然后将其数据添加到 manageData 对象,并使用 contextForSegueWIthIdentifier
方法将其传递给 InterfaceController3。
现在我的问题是,一旦 InterfaceController3 将它的数据添加到对象中,我如何将完整的对象传递回 InterfaceController1 并填充数据,以便 InterfaceController1 可以将数据添加到 table?希望我已经说得够清楚了。我没有任何实际代码来表示它,因为我还不知道如何实现它。
所以我解决这个问题的方法是创建一个单例 class 来保存我在不同控制器中的所有数据。然后当我到达最后一个控制器并将我的数据发送到单例时,我弹出回根控制器。
当我回到根控制器时,在唤醒方法中,我调用了一个名为 loadTableData()
的函数,该函数会在单例唤醒时自动从单例中获取信息并将其加载到 table.目前似乎工作得很好,但我不知道这种方法可能会带来任何潜在问题。