objective-c - OS X下拖曳檔案如何取得檔案路徑
迷茫
迷茫 2017-05-02 09:28:28
0
1
564

拖曳檔案取得檔案路徑

// (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格式的檔案路徑。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(1)
阿神
NSString *filePath = [fileURL path];

問題反思: 這個問題還是花了比較多的時間,我一開始的思路NSURL是從Pasteboard獲取,NSImage也可以透過Pasteboard進行初始化,所以想從Pasteboard獲取fileName,既然fileName是string類型,就想獲取NSString透過Pasteboard進行初始化,但並沒有找到,從蘋果API中有看到NSString遵循了NSPasteboardWriting, NSPasteboardReading協議,但並沒有提供相關的介面。
不過從github上拉下來的一個項目發現,問題的答案十分的簡單NSURL提供path獲取文件路徑。而問題之所以耗費了那麼多時間,只能說是對NSURL的API不熟悉。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板