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 application script 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
Instanzierung über Interface Builder
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