0

単一のファイルのみをドラッグできるドラッグ操作があり、次のように「draggingEntered」でこれをキャプチャしたい:

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

countは有効なメソッドまたはプロパティではありませんが、何に置き換えるかわかりません。dragingPasteboard にアイテムがいくつあるかを確認するには、どの方法が最適ですか? propertyListForType: NSFilenamsPboardTypeのようなものを使用して、dragingPasteboard でファイル名の配列を取得し、そのインデックスを取得する必要がありますか、それとももっと賢い方法がありますか?

4

1 に答える 1

1

pasteboardItemsカウントを使用する場合は、カウントに応答する項目配列であるを使用する必要があります。

次のように実行できます。

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

    if([[[sender draggingPasteboard] pasteboardItems] count] == 1) {
        return NSDragOperationCopy;
    }
    else {
        return NSDragOperationNone;
    }
}
于 2012-05-22T08:42:44.007 に答える