【问题标题】:Crash when using loadNibNamed使用 loadNibNamed 时崩溃
【发布时间】:2020-12-18 21:38:41
【问题描述】:

这是我的代码:

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”)。 但由于某种原因它失败了: 我已经尝试了 stackoverflow 中的所有解决方案,但没有任何帮助。 这是我的xib文件: 我真的不知道该怎么办。 我正在使用 Xcode 12 beta 6、iOS 14 beta 6 更新 好吧,很多人在教程的cmets中说

这会导致调用 commonInit() 的无限循环。

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

【问题讨论】:

  • 视图的类型是什么?我敢打赌你也将它设置为iconView。请注意,only 所有者应为iconView。视图本身应该只是 UIView(或 UIImageView 或您使用的任何视图类型)。

标签: swift uikit uistoryboard xib


【解决方案1】:

您可能必须从视图中删除 Class。

首先选择您的View(在您的情况下为iconView):

然后清除 class 字段中的所有内容:

【讨论】:

  • 谢谢。在我这样做之后,我的插座出现了错误,但幸运的是我知道如何修复它,现在一切正常。再次感谢您!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多