Schritt für Schritt - Entwickeln für OS X und iOS
Schritt für Schritt - Entwickeln für OS X und iOS
Hallo Welt, Teil 3

Obwohl diese Anwendung wirklich sehr einfach ist, enthält sie doch die typischen Schritte, die für die Erstellung einer jeden Cocoa Anwendung nötig ist.

Eine Klasse für den Controller erzeugen.
Die grafische Oberfläche gestalten.
Eine Instanz des Controllers im Interface Builder erstellen.
Controller und Steuerelemente verbinden.

Selbstverständlich sind aufwendige Anwendungen viel komplizierter und sie enthalten dutzende Klassen und unter Umständen auch weitere Controller für zusätzliche Fenster, aber der grundlegende Arbeitsablauf bleibt immer der Gleiche. Erweiterungen am Programm sind weiterhin möglich, wie Sie gleich erfahren werden.

Leider können Sie Ihr Programm nicht mehr als ein Mal testen, denn bei einem zweiten Klick auf den Button wird in das Textfeld genau der gleiche Text geschrieben, der dort schon steht. Man sieht keinen Unterschied. Eine Erweiterung dieses Programms um einen zweiten Button, welcher den Text löscht, wäre praktisch.

Kehren Sie nun zu Xcode zurück und fügen Sie der MyController.h eine weitere Action hinzu.
- (IBAction)clearMe:(id)sender;
Die passende Implementation in der MyController.m
- (IBAction)clearMe:(id)sender
{
    [outputText setStringValue:
@""];
}
Vergessen Sie nicht, anschliessend die Dateien zu speichern!

Natürlich darf auch ein zweiter Button nicht fehlen. Inzwischen sollten Sie mit den Vorgängen vertraut sein, um das Programmfenster entsprechend zu erweitern.
stacks_image_112B2C7F-8415-442C-8123-250972274F3D
Eine Verbindung von der neuen Action zum Steuerelement ist auch noch nötig. Markieren Sie die Instanz von MyController im Hauptfenster und wechseln dann in den Inspector. Wie sie sehen, hat sich die Gruppe Connections automatisch aktualisiert und eine weitere Action steht auch hier zu Verfügung. Verbinden Sie diese auf die gleiche Art und Weise mit dem neuen Button, wie Sie es zuvor getan haben. Jetzt können Sie Text anzeigen lassen und ihn auch wieder löschen.
stacks_image_8D56CBD1-50C1-42A4-A0C1-E2D97F329DB0
stacks_image_BAB5A4DD-1C49-45CF-B273-065F24A4FC62