2012-05-22 1 views
0

У меня есть операции перетаскивания, что только позволяет перетащить один файл, и я хочу, чтобы захватить это на «draggingEntered» вот так:Как узнать, сколько файлов в draggingPasteboard?

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

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

ответ

1

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

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

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

    if([[[sender draggingPasteboard] pasteboardItems] count] == 1) { 
     return NSDragOperationCopy; 
    } 
    else { 
     return NSDragOperationNone; 
    } 
} 
+0

Я знал, что я на правильном пути. :) Спасибо за помощь. – PropellerHead

+0

@PropellerHead Добро пожаловать :) –