2016-09-30 6 views
1

プロジェクトをビルドした後に完全にロードされるxibがあります。 、私は答えをたくさん読んだ@IBDesignableはクラスインスタンスのレンダリングに失敗し、Swift 3でエージェントをクラッシュさせます。

Main.storyboard: error: IB Designables: Failed to render instance of PalitraPaletteSelector: The agent crashed

でも無駄にDerivedDataフォルダを清掃:ビルド時にかかわらず、私は次のエラーを取得します。両方のイニシャライザが実装されているので、ここで私が見逃しているものは見えません。あなたが設計可能なビューでBundle.mainを使用することはできません

@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) 
    } 

} 

答えて

6

は、ここで私が持っているコードです。代わりにBundle(for: type(of: self))を使用するのはどうですか?

+0

まあ、ありがとう。 'self.dynamicType'が推奨されなくなりました。正しい構文は 'Bundle(for:type(of:self))'でした。 –

+0

私の間違いをお詫び申し上げます。私は私の答えを修正しました。それを聞いてうれしいと今すぐ動作します。 – 1024jp

関連する問題