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