ios - 从 xib IBOutlets nil 快速加载 UIViewController

标签 ios swift uiviewcontroller xib

<分区>

我正在拔掉剩下的头发!

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

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

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

viewController“似乎”加载正常,我得到了正确类型的对象,但 IBOutlets 未初始化。

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

这必须非常简单,对吧?!

最佳答案

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

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

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

使用:

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

关于ios - 从 xib IBOutlets nil 快速加载 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346108/

相关文章:

iphone - Interface Builder 中的自定义 UIView

ios - 无法在 iOS8 自定义键盘中获得正确的约束

arrays - 将数组传递给 Swift 中的函数抛出无效参数类型错误

iphone - 如何强制我的 iPhone 应用程序保持特定方向

ios - 将数据从 Viewcontroller 传输到 UIview

ios - Swift: Collection View 布局问题

ios - ApplicationDidLaunch 中的 RemoveFromSuperView UIImageView 延迟执行

php - iPhone 上基本论坛式应用程序的服务器设置?

ios - Google Firebase 登录完成后从 AppDelegate 导航到 ViewController

objective-c - iOS - 加载自定义表格单元格导致第二次加载出错