使用 loadNibNamed 时崩溃
Posted
技术标签:
【中文标题】使用 loadNibNamed 时崩溃【英文标题】:Crash when using 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”)。 但由于某种原因它失败了: 我已经尝试了 *** 中的所有解决方案,但没有任何帮助。 这是我的xib文件: 我真的不知道该怎么办。 我正在使用 Xcode 12 beta 6、ios 14 beta 6 更新 好吧,很多人在教程的cmets中说
这会导致调用 commonInit() 的无限循环。
所以现在我知道问题出在哪里,但我仍然不知道如何解决它。有什么想法吗?
【问题讨论】:
视图的类型是什么?我敢打赌你也将它设置为iconView
。请注意,only 所有者应为iconView
。视图本身应该只是 UIView
(或 UIImageView
或您使用的任何视图类型)。
【参考方案1】:
您可能必须从视图中删除 Class。
首先选择您的View
(在您的情况下为iconView
):
然后清除 class
字段中的所有内容:
【讨论】:
谢谢。在我这样做之后,我的插座出现了错误,但幸运的是我知道如何修复它,现在一切正常。再次感谢您!以上是关于使用 loadNibNamed 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
越狱设备 [UIDeviceRGBColor superview] 上 loadNibNamed 时可能崩溃:无法识别的选择器
loadNibNamed(_:owner:options:) 崩溃
当我将 setContentSize 与自动布局一起使用时,UIScrollView 崩溃
使用 loadNibNamed: 方法时是不是需要释放 IBOutlets?