Hi!
Ich versuche gerade, eine App AppleScript fähig zu machen.
Meine sdef Datei hängt im Anhang, aber hier die entscheidenden Teile:
Alles anzeigen
Hier der Beispielcode:
Alles anzeigen
Wenn ich nun per AppleScript
ausführe, wird korrekt der Wert der Variable applicationText ausgelesen:
"Hallo Applikation"
Wenn ich nun per AppleScript meine Instanzvariable auslesen will
bekomme ich in AppleScript ein
und in der Konsole ein
Allerdings ist mir unklar warum, denn die Instanzvariable zur Klasse meineKlasse ist doch genau so verfügbar, wie die Variable applicationText
Vielleicht habt ihr ja eine Idee.
Danke und Gruß
Ich versuche gerade, eine App AppleScript fähig zu machen.
Meine sdef Datei hängt im Anhang, aber hier die entscheidenden Teile:
Quellcode
- <class name="application" code="capp" description="The application's top-level scripting object.">
- <cocoa class="NSApplication"/>
- ...
- <property name="ApplikationsString" code="dist" type="text">
- <cocoa key="applicationText"/>
- </property>
- <property name="MeineInstanz" code="test" type="MeineKlasse">
- <cocoa key="testInstanz"/>
- </property>
- ...
- </class>
Hier der Beispielcode:
Quellcode
-
- @interface AppDelegate : NSObject <NSApplicationDelegate>
- @property (assign) NSString *applicationText;
- @end
- @interface meineKlasse : NSObject
- @property (assign) NSString *meinText;
- @end
- @implementation meineKlasse
- -(id)init {
- self = [super init];
- _meinText = @"Hallo Welt";
- return self;
- }
- @end
- @implementation AppDelegate
- - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
- {
- _applicationText = @"Hallo Applikation";
- meineKlasse *testInstanz = [[meineKlasse alloc] init];
- NSLog(@"%@ - %@",_applicationText, testInstanz.meinText);
- }
- - (BOOL)application:(NSApplication *)sender delegateHandlesKey:(NSString *)key {
- return YES;
- }
- @end
Wenn ich nun per AppleScript
ausführe, wird korrekt der Wert der Variable applicationText ausgelesen:
"Hallo Applikation"
Wenn ich nun per AppleScript meine Instanzvariable auslesen will
bekomme ich in AppleScript ein
error "Sample01 got an error: AppleEvent handler failed." number -10000
und in der Konsole ein
2014-07-14 14:34:37.249 Sample01[8038:303] An exception was thrown during execution of an NSScriptCommand...
2014-07-14 14:34:37.249 Sample01[8038:303] [<AppDelegate 0x60800000bca0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key testInstanz.
Allerdings ist mir unklar warum, denn die Instanzvariable zur Klasse meineKlasse ist doch genau so verfügbar, wie die Variable applicationText
Vielleicht habt ihr ja eine Idee.
Danke und Gruß