Swift 从 xib IBOutlets 加载 UIViewController nil

Swift load UIViewController from xib IBOutlets nil

我正在拔掉我剩下的头发!

我有一个带有匹配 .xib 文件的 UIViewController。在 .xib 中,我有一个 IBOutlet,它是我在界面生成器中创建的,名为 "titleText"

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

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

viewController "seems" 加载正常,我得到了正确类型的对象,但 IBOutlets 没有初始化。

我是否需要执行额外的步骤来初始化我可能拥有的任何 IBOutlets?

这一定很简单,对吧?!

在视图加载之前,插座为零。所以只需创建另一个变量并存储标题字符串,如下所示

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

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

使用:

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