从xib IBOutlets快速加载UIViewController无

时间:2018-11-16 22:11:25

标签: ios swift uiviewcontroller xib

我要拔出我剩下的小头发!

我有一个带有匹配的.xib文件的UIViewController。在.xib中,我有一个在接口构建器中制作的IBOutlet,名为“ titleText”

在我的代码的一部分中,我有以下几行:

let fooVC = FooViewController(nibName: "FooViewController", bundle: Bundle.main)
fooVC.titleText = "TEST"

viewController“似乎”可以很好地加载,我得到了正确类型的对象,但是IBOutlets没有初始化。

是否需要执行其他步骤来初始化我可能拥有的任何IBOutlet?

这一定很简单,对吧?!

1 个答案:

答案 0 :(得分:1)

在视图加载之前,插座为零。因此,只需创建另一个变量并像下面一样存储标题字符串

class FooViewController: UIViewController {
    @IBOutlet titleText:UILable!
    var titleString:String?

    override func viewDidLoad() {
       super.viewDidLoad()
       titleText.text = titleString
    }
}

使用:

let fooVC = FooViewController()
fooVC.titleString = "TEST"