Slider und Actions..

Wenn ich in einem Formular einen Slider einbaue, dann möchte das Ergebnis, beim verschieben, unmittelbar in einem Textfeld präsentiert bekommen…

Objektive C funktioniert, grob, so: Jedes App das ich schreibe, ist eine Instanz von NSAppliction.

NSApplication verwaltet den Event Loop. Einfacher gesagt: Die Eigene App wird Bestandteil von NSAppliction, nun wird periodisch geprüft, ob ein Ereignis aufgetreten ist, dass meine App betrifft. Wenn Ja, bekommt meine App eine Nachricht welches Ereignis auftrat und kann nun über eine dafür implementierte Methode drauf entsprechend reagieren.

Ganz so kompliziert ist es im Falle eines Sliders nicht, vom Ablauf her aber ähnlich.

Den Slider kann man mit einer eigenen Methode verbinden, die , wird der Slider bedient, unmittelbar gestartet wird.

Bildschirmfoto 2013-12-21 um 17.26.51

 

Das Diagram zeigt wie es geht. Als erstes wird die Methode zeige_thr_m in Controller.m – der Implementoation der Klasse, die hier  „Controler“ heist – geschrieben. Die gepunktete Linie soll zeigen, dass die Methode nun im Conections Inspektor, zunächst ohne Verbindung, angezeigt wird. Letzter muss man nun manuell, mit der Maus mit dem gewünschten Slider Objekt herstellen. Das zeigt die durchgezogene Linie an.

Eine Vereinbarung von  zeige_thr_m im Interface der Klasse braucht es hier nicht.

Die Methode zeige_thr_m wird nun jedesmal, wenn der Slider bedient wird, aufgerufen und ausgeführt.

 

 

 

Advertisements

Cocoa lernen, Teil 1

In Stichworten sollte man sich das Folgende behalten:

  • Grundlage für Cocoa ist Objektive C
  • C ist eine Teilmenge von Objektive C
  • Objective C ist die Grundlage für Cocoa und Cocoa stellte den Funktionsumfang für die Grafische Benutzeroberfläche des Mac OS

Klassen werden in Zwei Schritten erzeugt:

  • Das Interface erzeugen (z.B. interface.h)
    Dort werden zwischen den geschweiften Klammern die Instanz- Variablen der Klasse deffiniert. Dann werden die Namen der Methoden und deren Übergabe- und Rückgabewerte definiert.
  • Die Klasse implementieren
    Zwischen @implementation und @end stehen die Methoden der Klasse.
    Die Methode wird mit ihren Ein- und Ausgabewerten definiert:-(Datentyp Rückgabe) MeineMethode: (Datentyp Übergabe) wert
    Nun folgen, zwischen den geschweiften Klammern, die Anweisungen, quasi das Programm der Methode.

Jetzt darf man das Hauptprogramm schreiben. Das beginnt ganz genau so, wie es ein in C geschriebenes Programm auch tut, mit main().

Interface, Implementation und main() dürfen in einer Datei stehen, werden i.d.R. aber – der besseren Übersicht zuliebe – getrennt. X – Code macht das standardmäßig so!

In main() werden die Instanzen der Objekte nun – ähnlich C++ – gebildet:

  • Object *MyObject =[[Object alloc] init];

Die Methoden von MyObject ruft man so auf:

  • [MyObject Methode: Übergabe]