Rückgabe eines NSArray aus NSStrings an AppleScript

  • Rückgabe eines NSArray aus NSStrings an AppleScript

    Hallo,

    versuche gerade, meine Cocoa-Applikation AppleScript-fähig zu machen. Die Dokus, die ich gefunden habe, sind ja nicht gerade einfach für einen Anfänger. Dennoch: Das Lesen von Properties und das Ausführen eines Commands habe ich schon hinbekommen. Folgendes weiß ich jedoch nicht, wie ich das machen soll:
    Meine Cocoa App hält einen NSMutableArray mit NSString-Objekten wie etwa {"Hans", "Klaus", "Gabi", nil}. Ich hätte nun eigentlich gerne, dass man diesen Array in AppleScript auch auslesen kann (read only) und man dort das Resultat in einer sog. Liste speichern kann.
    Wie mache ich das? Neben "Properties" gibt's ja noch "Elements" für die sdef Datei. Die ganzen Beispiele, die ich bisher zu "elements" jedoch gefunden habe, beziehen sich immer auf recht komplexe, selbstdefinierte Klassen mit einer Viezahl eigener Properties, Elements... Muß ich jetzt, um diesen Array nach AppleScript zu bringen, in der sdef Datei eine neuen Klasse anlegen ('Friends'), die nur einen eizigen Property hat, nämlich 'name'?
  • Ok. Hab's nach langem Rumprobieren und Suchen doch hinbekommen (ohne elements und class...)

    In der sdef Datei muß ich einfach das hier schreiben:

    Quellcode

    1. <property name="available locations" code="Lall" description="List of all available locations" access="r">
    2. <cocoa key="locationList"/>
    3. <type type="text" list="yes"/>
    4. </property>


    Dann braucht man noch in NSApplication den KVC konformen Getter

    Quellcode

    1. - (NSArray*) locationList {
    2. return [NSArray arrayWithArray:[[Locations singletonInstance] locationsList]];
    3. }


    Violà!