Wie kann ich das Ziehen / Ablegen mehrerer Dateien aus dem Finder in Mac OS X 10.5 durchführen?

8

Ich muss die URLs aller Dateien, die ich per Drag & Drop in meine Anwendung gezogen habe, aus dem Finder holen.

Ich habe eine Cocoa-App, die unter 10.6 ausgeführt wird. Dazu werden die neuen 10.6 NSPasteboard-APIs verwendet, die mehrere Elemente auf der Montageoberfläche verarbeiten. Ich versuche, diese App auf 10.5 zu portieren. Wie gehe ich damit am 10.5 um?

Wenn ich etwas wie unten mache, bekomme ich nur die erste URL:

%Vor%     
robottobor 04.01.2010, 08:14
quelle

4 Antworten

6

Der IKImageKit programming topics Umriss eine Möglichkeit, dies so zu tun (paraphrasiert):

%Vor%

Siehe hier: Image Kit Programmieranleitung: Unterstützung Drag & Drop

    
catsby 04.01.2010, 14:00
quelle
9

Mehrere Dateinamen zu erhalten ist einfach: ( mehrere URLs sind nicht mit 10.5)

  1. Registrieren Sie Ihre Ansicht für NSFilenamesPboardType
  2. In performDragOperation: gehen Sie folgendermaßen vor, um ein Array von Dateipfaden zu erhalten:
%Vor%     
Thomas Zoechling 04.01.2010 09:03
quelle
1

Der NSURLPboardType behandelt nur eine URL.

Um eine Liste von Dateien zu erhalten, müssen Sie ein NSArray aus einem NSFilenamesPboardType erstellen.

Apples Dokumente beim Ziehen und Ablegen sind sogar ziemlich gut wenn es älteres Zeug ist.

    
macshome 16.03.2011 22:26
quelle
0
  

Wie handhabe ich [mehrere Elemente auf einer Pappe] auf 10.5?

Probieren Sie den Pasteboard-Manager .

Der schwierige Teil ist, dass Sie einen Drop behandeln, was bedeutet, dass Sie ein NSPasteboard erhalten, das bereits für Sie erstellt wurde, und es keine Möglichkeit gibt, zwischen NSPasteboard-Objekten und PasteboardRef s zu konvertieren. Sie müssen das NSPasteboard nach seinem name fragen und dann den gleichen Namen an PasteboardCreate übergeben, und das funktioniert möglicherweise nicht.

    
Peter Hosey 04.01.2010 11:30
quelle