Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Seite 23
Der Kommentar im else-Zweig der Fallunterscheidung ist nicht vollständig und beschreibt nicht alle Möglichkeiten. Korrekt wäre:
// i ist kleiner als 10
// oder ist ist 20
// und i ist ungleich 5

Seite 24
Im Kommentar des default-Block hat sich auch ein Fehler eingeschlichen, denn eine Zahl kann nicht keiner als 1 und größer als 3 sein. Richtig wäre hier ein „oder“.

Seite 38
Ein kleiner Fehler hat sich im vierten Absatz eingeschlichen, heisst es dort doch „Links neben Run und Stop befindet sich eine Combobox“. Wie auf der Abbildung aber eindeutig zu erkennen, ist die Comboxbox nicht links der Schaltflächen, sondern rechts.

Seite 46
In den General-Einstellungen gibt es jetzt keine Möglichkeit mehr, die Auto-Save Eigenschaft zu ändern. Wird das Projekt neu kompiliert, werden immer alle geänderten Dateien gespeichert.
stacks_image_7565650C-8003-4C4B-851F-4095AB83383A
Seite 85 und 86
Die erforderlichen Schritte, um eine neue Objektive-C Klasse anzulegen, haben sich ein wenig geändert und schon im zweiten Fenster wird nach dem Klassennamen gefragt. Im dritten und letzten Schritt kann dann nur noch der Speicherort ausgewählt werden.
stacks_image_7BDCA912-60F0-4032-9DFF-AFF52DEC2E76
stacks_image_A1170C9B-4440-4651-AD53-E9BE269F9185
Seite 87
Leider erzeugt Xcode 4.2 im Header einer Klasse nicht länger den Block aus geschweiften Klammern, welcher zur Deklaration von Instanzvariablen erforderlich ist. Die beiden Klammern müssen nachträglich eingegeben werden. Nur wenn eine Klasse ausschließlich Methoden und keine Instanzvariablen enthält, kann auf den Block verzichtet werden.

Die im ersten Listing gezeigte Datei ist die GeometryCalculator.h und nicht wie beschrieben die GeometryCalculator.m

Auch die init und dealloc-Methoden werden von Xcode nicht länger erzeugt und sollten nachgetragen werden. Benötigt eine Klasse keine zusätzlichen Anweisungen in den Methoden kann auf init und dealloc verzichtet werden, denn dann werden automatisch die entsprechenden Methoden in der Elternklasse NSObject verwendet. Sind aber individuelle Initialisierungen (Seite 123) oder zusätzliche Freigaben (Seite 118) erforderlich, müssen die Methoden auch in der eigenen Klasse umgesetzt werden.

Seite 89
Die Xcode Version 4.2 fügt statt der Anweisung
#import <Cocoa/Cocoa.h>
die Anweisung
#import <Foundation/Foundation.h>
in der Datei ein. Für die Funktion der Klasse macht das aber keinen Unterschied.

Seite 233
Ein weiterer Rechtschreibfehler im ersten Absatz. Der Bezeichner aeraTextField solle areaTextField heissen.

Seite 238
Wem ist es aufgefallen? Das in der Abbildung angezeigte Ergebnis passt nicht zu den eingegebenen Werten von Breite, Länge und Höhe. Das ist aber kein Programmfehler, ich habe nach der Eingabe neuer Werte nur vergessen, auf Rechnen zu klicken.

Seite 342
Den Identifier einer Tabellenspalte findet man im Inspector nicht länger in der Gruppe Attributes. Er ist jetzt in der Gruppe Identity.
stacks_image_71EE85A4-6640-4EE3-841C-7E208AE11745
Seite 397
Die im zweiten Absatz genannte Methode acceptInputButton gibt es nicht. Gemeint ist hier acceptButtonClicked.

Seite 463
Im Listing wurde vergessen die neu angelegte Zeichenkette labelText wieder freizugeben. Die letzte Anweisung in der Methode ist daher:
[labelText release];