2016-05-08 1 views
3

NSObjectのサブクラスであり、NSTableViewプロトコルに準拠した新しいココアファイルを作成しました。 IBのNSButtonからIBOutletまたはIBActionを接続しようとすると、オプションが表示されません。私は両方の方法で接続しようとしましたIBが@IBOutletまたは@IBActionをカスタムSwiftファイルに挿入するオプションを提供していないのはなぜですか?

import Cocoa 

class TestTableController: NSObject, NSTableViewDataSource, NSTableViewDelegate { 
@IBOutlet weak var button:NSButton! 
} 

それから同じ結果を接続します。 AppDelegateファイルから正常に接続できました。

manually connection from self property

another try

答えて

1

あなたがNSObjectの(またはどちらかお好み)を追加し、カスタムクラスとしてそれを選択する必要があります:

彼女はいくつかのスクリーンショットです

enter image description here

これでボタンに接続できるはずです。

+0

これは機能しましたが、なぜCtrl +ドラッグしてファイル自体に接続できないのですか?また、AppDelegateからこのクラスをインスタンス化してボタンを隠す関数を呼び出そうとすると、エラーが発生します。オプション値をアンラッピングしている間に予期せずnilが見つかった場合、エラーは明らかですが、なぜそれがnilですか?どうすればこのボタンを使うことができますか? – jyet

+0

私はXcodeを設計していないので、Appleにctrl + dragが機能しない理由を尋ねます。なぜなら、もはや存在しないか、または正しく接続されていないものへのIB接続がまだあるからです。 –

+0

ご質問ありがとうございました。 – jyet

関連する問題