原則として、ドラッグ処理の主な責任は、NSView または NSViewController のどこに属しますか。
ドラッグ操作フックはすべて NSView に含まれているため、NSView が自然な場所のようです。さらに、ビューは何らかの役割を果たす必要があります。なぜなら、ビューは物事がどこにあるかを知っているため、当然、ドラッグが巻き上げられる場所の専門家だからです。
しかし、ドラッグは通常、ドキュメント間またはプロセス間通信に関するものであり、最も具体的には、ファイルを Finder からドキュメントにドラッグすることに関するものです。ドラッグは、モデルに変更または追加をもたらすようにバインドされています。そして、それがコントローラーの仕事です。
最後に、ビューまたはコントローラーのどちらにいるかに関係なく、通常、プロセス内のドラッグを処理してからデータを受け取るための一連のメソッドを追加します。メソッドをビューまたはコントローラーに追加するだけですか、それともポリシー オブジェクトに転送しますか?