@IBDesignable无法使用Swift 3呈现类实例和崩溃代理

Mar*_*ski 1 cocoa xib swift

我有一个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)
    }

}
Run Code Online (Sandbox Code Playgroud)

102*_*4jp 7

您无法Bundle.main在可设计的视图中使用.如何使用Bundle(for: type(of: self))而不是.