gpt4 book ai didi

ios - 自定义 View - 在 "required init?(coder aDecoder: NSCoder)"方法中崩溃

转载 作者:搜寻专家 更新时间:2023-11-01 06:14:59 25 4
gpt4 key购买 nike

代码:

class HeaderView: UIView {

@IBOutlet weak var titleLabel: UILabel!

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
finishInit()
}

func finishInit() {
titleLabel.backgroundColor = UIColor.white
}

func setView(withTitle title: String?) {
titleLabel.backgroundColor = UIColor.white
titleLabel.text = title

}

崩溃:

在 finishInit() 方法中,同时设置标签背景色

fatal error: unexpectedly found nil while unwrapping an Optional value

但同样,在 setView() 方法上,不会崩溃。

最佳答案

init 方法运行并返回时, socket 的连接尚未建立。因此 socket 仍然是 nil 并且您在使用它时会崩溃。

您应该能够通过在 titleLabel 之后添加一个问号 (?) 来对此进行测试,从而再次将其视为可选项。

titleLabel?.backgroundColor = UIColor.white

那么你不会崩溃,但如果标签仍然为零,该行当然也不会做任何事情。

所以你需要稍后调用使用 socket 的代码(你似乎正在用 setView 做?

您可以在应设置 socket 的地方使用 awakeFromNib

关于ios - 自定义 View - 在 "required init?(coder aDecoder: NSCoder)"方法中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47246806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com