Перетащите строки из iTunes в приложение Какао - PullRequest
0 голосов
/ 10 августа 2011

Как принять перетаскиваемые строки из iTunes в приложении Какао?

У меня есть два объекта в моем приложении, которые принимают Drag and Drop: NSTableView и пользовательский вид. Оба распознают файлы, перетаскиваемые из искателя, но не распознают строки, перетаскиваемые из iTunes.

1 Ответ

1 голос
/ 12 августа 2011

Ну вот и ответ. Это будет обрабатывать перетаскивание объектов из iTunes, а также перетаскивание файлов из поиска. То, что вы получите, это список путей к файлам. «отправитель» - это парень, у которого есть перетаскивающий картон. Короткий ответ: «com.apple.pasteboard.promised-file-url» - это ключ, который вам нужен для вставки из iTunes.

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);
...