Как посмотреть, сколько файлов в draggingPasteboard?

У меня есть операция перетаскивания, которая позволяет перетаскивать только один файл, и я хочу захватить это на "draggingEntered" следующим образом:

- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
  if ([[sender draggingPasteboard] count]] == 1) {
    return NSDragOperationCopy;
  }
  else {
    return NSDragOperationNone;
  }
}

Но count не является допустимым методом или свойством, но я не могу понять, чем его заменить, так какой же лучший способ узнать, сколько элементов есть на draggingPasteboard? Должен ли я получить массив имен файлов на draggingPasteboard, используя что-то вроде propertyListForType: NSFilenamsPboardType, а затем получить индекс этого или есть более разумный способ сделать это?

1 ответ

Решение

Если вы хотите использовать количество, вы должны использовать pasteboardItems который является массивом элементов, который отвечает на счет.

Это можно сделать так:

- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {

    if([[[sender draggingPasteboard] pasteboardItems] count] == 1) {
        return NSDragOperationCopy;
    }
    else {
        return NSDragOperationNone;
    }
}
Другие вопросы по тегам