11.12.2012 01:01:00 • Categories: Applescript, ASObjC • Tags: Applescript, Asobjc
ASObjC: Klasse einbinden
Beim letzten Punkt haben wir so lapidar eine neue Klasse in ein ASObjC Projekt hinzugefügt. Nur wie greift man dann auf diese zu? Um dies zu bewerkstelligen gibt es zwei verschiedene Möglichkeiten.
Instanzierung im Code
Mit der ersten Möglichkeit wird die benötigte Klasse programmatisch hinzugefügt. Hierzu wird im Header mit property test : class "test" of current application die Klasse "includiert". Um die Instanzierung der Klasse muss man sich dann selbst kümmern, siehe folgenden Beispielcode.
-- benötigte Klasse "includieren" property test : class "test" of current applicationInstanzierung über Interface Builderscript ClassTestAppDelegate property parent : class "NSObject"
--
--
on classTest(sender) --Klasse instanzieren set myTest to test's alloc()'s init --auf Klassenmethode zugreifen set strFromClass to myTest's convertString("Wandle mich um." as string) --Rückgabewert der Methode ausgeben display alert strFromClass end classTest_
--
--
end script
Eine Klasse kann aber auch ohne eine Zeile Code zu schreiben instanziert werden. In diesem Fall wird mit property test : missing value ein Outlet für den Interface Builder definiert. Innerhalb des Interface Builders zieht man nun ein NSObject Icon in das IB Dokumentenfenster. Im Identity Inspector wird der Name der Klasse eingetragen der Instanziert werden soll. Zum Schluss muss das Outlet noch mit dem NSObject verbunden werden (siehe Screenshot).
Der Beispielcode sieht wie folgt aus.
script ClassTestAppDelegate property parent : class "NSObject"--Instanzierung der Klasse über Interface Builder property test : missing value
--
--
on classTest(sender) --auf Klassenmethode zugreifen set strFromClass to test's convertString("Wandle mich um.") as string --Rückgabewert der Methode ausgeben display alert strFromClass end classTest_
--
--
end script
