在Swift中以编程方式更新外部XIB对象

时间:2016-04-14 21:12:32

标签: ios swift storyboard xib viewcontroller

我加载了两个可以通过滑动手势访问的XIB视图,并希望从我的第一个XIB更新我的第二个XIB文本框。

这是我到目前为止的快速代码,但似乎从一个视图到另一个视图不起作用:

// This code is placed in ViewController0.xib
let vc1 = ViewController1(nibName: "ViewController1", bundle: nil)
vc1.resultsTextBox?.text = "test"        
// vc1.asd(1) //Tried calling a function that's in that view but it didn't work either.

1 个答案:

答案 0 :(得分:0)

如果resultsTextBox是UITextField,那么它可能尚未初始化。这是在viewDidLoad中完成的。更好的策略是将一些字符串变量设置为“test”。然后在viewDidLoad中,设置resultsTextBox.text

let vc1 = ViewController1(nibName: "ViewController1", bundle: nil)
vc1.textBoxStr = "test"


override func viewDidLoad() {
  super.viewDidLoad()
  vc1.resultsTextBox?.text = textBoxStr
  ...
}

希望这是有道理的。