アプリケーションの 1 つで優れたNSOutlineView
サブクラスを使用しPXSourceList
ています。インスタンスにドラッグ アンド ドロップを実装しようとしていPXSourceList
ます。私は持っている:
- IB のデリゲート アウトレットとデータ ソース アウトレットの両方をコントローラーに接続しました
- コントローラーで
awakeFromNib
、self をデリゲートおよびデータ ソースとして設定します。 - コントローラーで
awakeFromNib
、ドラッグされた型に登録されます writeItems: validateDrop: acceptDrop:
コントローラーで、必要なメソッドと メソッドを実装し、namesOfPromisedFilesDroppedAtDestination:
それらをコントローラーの .h ファイルで宣言します
何らかの理由で、(4) で実装されたドラッグ アンド ドロップ メソッドがまったく起動しません。私はもう試した:
- ドラッグ アンド ドロップ データ ソース メソッドにログ ステートメントを配置すると、呼び出されることはありません。
registeredDraggedTypes
インスタンスのログを記録する他のデータ ソース メソッドの 1 つにログ ステートメントをPXSourceList
配置すると、割り当てられた適切なドラッグ タイプが常に返されます。awakeFromNib.
- ビュー インスタンスを取得し、 NSWindow
PXSourceList
インスタンスを除くすべてのビューから埋め込みを解除します。運もありません。 - 私のアプリケーションから付属のサンプル アプリにデータ ソース コードをコピー アンド ペーストすると、
PXSourceList
すべて変更なしで機能します。 - サンプル アプリケーションの作業コードを SK ソースにコピー アンド ペーストしますが、機能しません。
したがって、基本的に、ドラッグ アンド ドロップ メソッドを除くすべてのデータ ソース メソッドが呼び出される場所にいます。ドラッグされたタイプに登録していないように動作しますが、1) 持っていることを知っており、2) インスタンスは、設定したドラッグされたタイプに登録されていると応答します。
何か案は?