0
如何從Cocoa應用程序的iTunes中拖動行?將行拖出iTunes進入可可應用程序
我在我的應用程序中有兩個接受拖放的對象:一個NSTableView和一個自定義視圖。兩者都能識別從查找器拖出的文件,但都不識別從iTunes拖出的行。
如何從Cocoa應用程序的iTunes中拖動行?將行拖出iTunes進入可可應用程序
我在我的應用程序中有兩個接受拖放的對象:一個NSTableView和一個自定義視圖。兩者都能識別從查找器拖出的文件,但都不識別從iTunes拖出的行。
嗯,這是答案。這將處理從iTunes中拖動東西,以及從查找器中拖動文件。你得到的是一個文件路徑列表。 「發件人」是擁有拖紙板的人。簡短的回答是,「com.apple.pasteboard.promised-file-url」是iTunes paste所需的關鍵。
NSMutableArray *paths = [NSMutableArray arrayWithCapacity:1];
NSArray *pasteboardTypes = [NSArray arrayWithObjects:@"com.apple.pasteboard.promised-file-url", @"public.file-url", nil];
for(NSPasteboardItem *item in [[sender draggingPasteboard] pasteboardItems]) {
NSString *urlString = nil;
for(NSString *type in pasteboardTypes) {
if([[item types] containsObject:type]) {
urlString = [item stringForType:type];
break;
}
}
if(urlString) {
NSString *path = [[NSURL URLWithString:urlString] path];
[paths addObject:path];
}
}
NSLog(@"Pasted Paths: %@", paths);
你想從iTunes行中得到什麼?媒體,標題,... – spudwaffle
filepath。我有答案,但由於我的聲譽得分很低,我無法再發布5個小時。 – Colin