使用 loadNibNamed 时崩溃

Crash when using loadNibNamed

这是我的代码:

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

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

func commonInit() {
    let mainBundle = Bundle.main
    mainBundle.loadNibNamed("iconView", owner: self, options: nil)
    addSubview(contentView)
    contentView.frame = self.bounds
    contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}

我从我看到的 this tutorial 中的第 8 步复制了它(我只是将代码中的名称更改为我的 xib 文件:“iconView”)。 但由于某种原因它失败了: 我已经尝试了 Whosebug 中的所有解决方案,但没有任何帮助。 这是我的 xib 文件: 我真的不知道该怎么办。 我正在使用 Xcode 12 beta 6,iOS 14 beta 6 更新 好吧,很多人在教程的评论里说

This causes an infinite-loop calling commonInit().

所以现在我知道问题是什么了,但我仍然不知道如何解决它。有什么想法吗?

您可能需要从视图中删除 Class。

首先 select 你的 View(你的情况 iconView):

然后清除 class 字段中的任何内容: