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% Der IKImageKit programming topics
Umriss eine Möglichkeit, dies so zu tun (paraphrasiert):
Siehe hier: Image Kit Programmieranleitung: Unterstützung Drag & Drop
Mehrere Dateinamen zu erhalten ist einfach: ( mehrere URLs sind nicht mit 10.5)
NSFilenamesPboardType
performDragOperation:
gehen Sie folgendermaßen vor, um ein Array von Dateipfaden zu erhalten: 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.
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.
Tags und Links macos cocoa drag-and-drop finder nspasteboard