我加载了两个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.

最佳答案

如果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
  ...
}


希望有道理。

关于ios - 在Swift中以编程方式更新外部XIB对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36634089/

10-14 08:43