@IBDesignable 无法呈现 class 实例并使代理崩溃 Swift 3
@IBDesignable fails to render class instance and crashes agent with Swift 3
我有一个 xib,它在构建项目后加载得非常好。虽然在构建时出现以下错误:
Main.storyboard: error: IB Designables: Failed to render instance of PalitraPaletteSelector: The agent crashed
看了很多答案,连DerivedData文件夹都清理了也没用。两个初始值设定项都已实现,所以我看不出我在这里遗漏了什么。
这是我的代码:
@IBDesignable
class PalitraPaletteSelector: NSStackView {
@IBOutlet var view: NSStackView!
required init?(coder: NSCoder) {
super.init(coder: coder)
loadViewFromNib()
}
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
loadViewFromNib()
}
func loadViewFromNib() {
Bundle.main.loadNibNamed("PalitraPaletteSelector", owner: self, topLevelObjects: nil)
view.frame = self.bounds
self.addSubview(view)
}
}
您不能在可设计视图中使用 Bundle.main
。使用 Bundle(for: type(of: self))
怎么样?
我有一个 xib,它在构建项目后加载得非常好。虽然在构建时出现以下错误:
Main.storyboard: error: IB Designables: Failed to render instance of PalitraPaletteSelector: The agent crashed
看了很多答案,连DerivedData文件夹都清理了也没用。两个初始值设定项都已实现,所以我看不出我在这里遗漏了什么。
这是我的代码:
@IBDesignable
class PalitraPaletteSelector: NSStackView {
@IBOutlet var view: NSStackView!
required init?(coder: NSCoder) {
super.init(coder: coder)
loadViewFromNib()
}
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
loadViewFromNib()
}
func loadViewFromNib() {
Bundle.main.loadNibNamed("PalitraPaletteSelector", owner: self, topLevelObjects: nil)
view.frame = self.bounds
self.addSubview(view)
}
}
您不能在可设计视图中使用 Bundle.main
。使用 Bundle(for: type(of: self))
怎么样?