gpt4 book ai didi

swift - 为什么这个 View 在 awakeFromNib() 中是 nil?

转载 作者:行者123 更新时间:2023-11-28 07:37:59 25 4
gpt4 key购买 nike

<分区>

我正在练习 awakeFromNib。

我在 Main.storyboard 中有一个 UIView。此 UIView 继承 class CardView

代码如下

class ViewController: UIViewController {

@IBOutlet weak var cardView: CardView!

}

我有一个 CardView.xib。在 CardView.xib 中,有一个默认的单个 UIView,它继承了 class CardView。在这个 UIView 中,还有另一个继承 class CardContentView 的单一 View 。当然,我有一个 CardView.swift,它有 class CardView

代码如下

class CardView: UIView {

@IBOutlet weak var cardContentView: CardContentView!

override func awakeFromNib() {
cardContentView.layer.cornerRadius = 16
}
}

我有一个 CardContentView.xib。在 CardContentView.xib 中,有一个默认的单个 UIView,它继承了一个默认的 class UIView。当然,我有一个 CardContentView.swift,它有 class CardContentView

代码如下

class CardContentView: UIView {

@IBOutlet var backgroundView: UIView!

override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}

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

private func commonInit(){
Bundle.main.loadNibNamed("CardContentView", owner: self, options: nil)
self.addSubview(backgroundView)
}

}

是的,我想通过 class CardViewCardContentView 显示给 ViewController 中的 cardView

但是当我运行时,错误出现在 class CardView

错误行在func awakeFromNib

具体行是cardContentView.layer.cornerRadius = 16

错误信息是Unexpectedly found nil while unwrapping an Optional value。特别是,cardContentView = nil

我不知道为什么 cardContentView = nil

我将 Xib 板中的 cardContentView 链接到 CardView.swift 中的 class CardView

我应该如何修改代码来运行它?

谢谢!

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