我如何引用在swift中的另一个视图控制器中创建的变量

时间:2015-01-25 00:04:20

标签: variables swift viewcontroller

如何将文本从我的文本字段添加到另一个ViewController中创建的数组中。

class FirstViewController: UIViewController, UITableViewDelegate {
  var thingsToDo = []

class SecondViewController: UIViewController {

  @IBOutlet weak var enterTask: UITextField!

  @IBAction func addtask(sender: AnyObject) {
    thingsToDo += enterTask.text
  }

1 个答案:

答案 0 :(得分:1)

您可以使用prepareForSegue方法将对象传递给另一个viewcontroller。首先,您必须在SecondViewController中添加全局变量。

var theThingsToDo:[AnyObject]!

然后,在FirstViewController中,您可以使用prepareForSegue - 方法并将FirstViewController中的值传递给SecondViewController。在Storyboard中设置segue的名称非常重要。

您可以在Xcode的右上角找到segue-identifier: enter image description here

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
   if segue.identifier == "yourSegueIdentifier" {
     // Value of the FirstViewControllers variable 'thingsToDo' will be sent to the SecondViewController
     (segue.destinationViewController as SecondViewController).theThingsToDo = thingsToDo          
   }
}

@IBAction func addtask(sender: AnyObject) {
    theThingsToDo += enterTask.text
}