搜尋

首頁  >  問答  >  主體

objective-c - OS X下拖曳檔案如何取得檔案路徑

拖曳檔案取得檔案路徑

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

迷茫迷茫2757 天前526

全部回覆(1)我來回復

  • 阿神

    阿神2017-05-02 09:30:28

    NSString *filePath = [fileURL path];

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

    回覆
    0
  • 取消回覆