2012-05-22 27 views
0

我有一個拖動操作只允許將一個單一的文件,我想抓住這個關於「draggingEntered」像這樣:如何查看draggingPasteboard中有多少個文件?

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

計數是無效的方法或屬性,但我可以不知道要用什麼來替換它,所以這是查看draggingPasteboard上有多少物品的最佳方法?我是否應該使用類似propertyListForType:NSFilenamsPboardType的方式獲取draggingPasteboard上的文件名數組,然後獲取該索引,還是有更聰明的方法來執行此操作?

回答

1

如果您要使用count您需要使用pasteboardItems這是作爲響應計數的items數組。

這是可以做到這樣的:

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

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

我知道我是在正確的軌道上。 :) 感謝您的幫助。 – PropellerHead

+0

@PropellerHead歡迎:) –

相關問題