有关使用Swift传递全局数据的建议

时间:2016-01-07 04:19:53

标签: ios swift delegates protocols

我在ViewControllerA中有一个对象数组需要传递给ViewControllerE,而ViewControllerE碰巧是一个视图控制器,它是几个不同的视图控制器。"换句话说,我不能使用segue来传递我的数据。我也尝试过使用协议/委托模式,但意识到它只用于传递BACK数据。在这种情况下,我试图传递FORWARD数据。

有没有人就如何将我的数据从VC-A传输到VC-E有什么建议?

2 个答案:

答案 0 :(得分:0)

您的问题已经是您的答案,将其设为全局,创建一个包含对象数组的单例类,然后将值传递给它并在您的应用中的任何位置使用它

class Data {
    static let sharedData = Data()
    var array = [Object]()
}

在VC-A中:

Data.sharedData.array = yourArray

然后使用let array = Data.sharedData.array

在任意位置检索它

答案 1 :(得分:0)

优先存储并在需要时使用。那样,

VC-A let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()  prefs.setValue(“YOURVALUE”,forKey:“YOURKEYNAME”)

VC-E let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults() prefs.valueForKey( “YOURKEYNAME”)

可能这很有帮助。 :)