2014-02-09 51 views
1

我想DnD承諾的文件。在該方法中:可可:namesOfPromisedFilesDroppedAtDestination只返回一個文件

- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index 

當我看到我的pboard是NSFilesPromisePboardType型的,我做的:

NSArray *filenames = [info namesOfPromisedFilesDroppedAtDestination:[NSURL fileURLWithPath:path]] 

info當然NSDraggingInfo)。

當我從諸如Outlook for Mac等應用程序的多個文件拖動時,namesOfPromisedFilesDroppedAtDestination的行爲與預期相同,「文件名」數組保留儘可能多的項目。

但是,當我從Chrome拖動項目(例如Gmail附件,是的,有可能) - 我看到pboard.pasteboardItems包含所有附件,但namesOfPromisedFilesDroppedAtDestination只返回一個項目!

關於如何解決這個問題的任何想法?

萬分感謝,

尼莉

回答

0

該方法的實現依賴於「源」和它似乎不允許寫多個附件到磁盤 - 即使你可以拖動他們。這是獨立的

+0

那麼我無能爲力? – Nili

+0

由於您無法修改源代碼,因此不需要:( –

0

你爲什麼使用promise而不是普通文件?我會建議傾銷你的消息來源提供的類型,可能會更合適。

相關問題