対象: Mac OS X 10.7+、Xcode 4.3.x
コアのニーズ: ドラッグ/ペーストするとき、1 つのタイプのアイテムを処理し、残りをスーパークラスに渡すことができるようにします。
NSTextView
performDragOperation メソッドを持つ のサブクラスがあります。私がやりたいことは、すべてのファイルドロップをインターセプトして余分なことを行い、他のアイテムがスーパークラスに渡されるようにすることです ( NSTextView
) への呼び出し[super performDragOperation]
ペーストボードから 1 つのアイテムを削除する方法がわかりません。私には2つの選択肢しかないようです:
- すべてのペーストボード項目を自分の textView に挿入する処理を自分で行います。
- アイテムをキャッシュし、ペーストボードをクリアしてから、それらをチェーンに渡す前に元に戻します (私はこのオプションを試しましたが成功しませんでしたが、なぜそれが壊れているのか知っているかもしれません)。
#3のオプションを見逃しましたか?そうでない場合、1 と 2 のどちらをお勧めしますか?