Swift将变量设置为另一个ViewController

时间:2015-10-02 08:01:09

标签: ios swift swift2

我有两个标签。我想将数据从一个选项卡设置为另一个选项卡。例如,我有一个代码切换到另一个选项卡:

func foundCode(code: String) {
    print("Code has been found: \(code)")
    // MySecondViewController.codeSetter(code);
    self.tabBarController?.selectedIndex = 1;
}

设置它的最佳方法是什么?或者可以委托这个变量......但是如何?

2 个答案:

答案 0 :(得分:1)

使用NSUserDefaults的简单示例:

将您的数据存储到第一个标签中:

let testInstance = 1
NSUserDefaults.standardUserDefaults().setInteger(testInstance, forKey: "pass")

现在在另一个标签中,您可以通过这种方式从内存中读取数据:

let instanceFromAnotherTab = NSUserDefaults.standardUserDefaults().integerForKey("pass")
print(instanceFromAnotherTab)

希望它有所帮助。

答案 1 :(得分:0)

如果您在第一个控制器中设置变量,如:

var code:String!

并在您的函数中:

func foundCode(code: String) {
    print("Code has been found: \(code)")
    self.code = code

    // MySecondViewController.codeSetter(code);
    self.tabBarController?.selectedIndex = 1;
}

我认为您应该能够在第二个控制器中访问它(我认为您在顶部声明的变量可以在所有类中访问)