拖拉文件获取文件路径
// (id <NSDraggingInfo>)sender
NSURL *fileURL=[NSURL URLFromPasteboard: [sender draggingPasteboard]];
获取URL,打印2016-08-01 17:11:21.201 DragAndDrop[3504:170407] file:///.file/id=6571367.14796550。而不是如/Users/jolie/Downloads格式的文件路径。
阿神2017-05-02 09:30:28
リーリー
問題の反省: この問題にはまだ時間がかかりました。 NSImage は Pasteboard から初期化することもできるので、fileName は文字列であるため、Pasteboard から取得することにしました。 NSString を Pasteboard 経由で初期化したいのですが、Apple API からは NSString が NSPasteboardWriting および NSPasteboardReading プロトコルに従っていることがわかりますが、関連するインターフェイスは提供されていません。
しかし、github から取得したプロジェクトでは、NSURL がファイル パスを取得するためのパスを提供していることがわかりました。問題にこれほど時間がかかったのは、私が NSURL API に慣れていないからとしか言いようがありません。