Updates und Errata zum Buch »Swift 3«

Diese Seite enthält Updates und Errata zum Buch »Swift 3 — Das umfassende Praxisbuch«.

Hinweis: Zu diesem Buch gibt es eine aktuellere Auflage.

Die Beispieldateien zum Buch »Swift 3 — Das umfassende Handbuch« finden Sie hier.

Seite 27 unten (Beispielcode)

Wenn Sie den Beispielcode von S. 27 unten in einem eigenen Playground eingeben und Fehlermeldungen erhalten (unresolved identifier NSImage etc.), dann liegt das daran, dass Sie den falschen Playground-Typ verwenden. Erzeugen Sie einen neuen Playground mit Platform = macOS. Das Beispiel verwendet Klassen aus der Cocoa-Bibliothek und funktioniert deswegen in einem iOS-Playground nicht.

Seite 31 (Markdown-Kommentare im Playground)

Wenn Sie mehrzeilige Markdown-Kommentare im Playground einleiten, müssen Sie nach /*: eine neue Zeile beginnen — andernfalls wird die erste Zeile des Kommentars in der formatierten Ansicht nicht angezeigt. Höchstwahrscheinlich handelt es sich hierbei um einen Bug in Xcode.

Seite 155 (Funktionale Programmierung)

Im Listing lautet beim zweiten Aufruf von fbuilder der erste Parameter fehlerhaft b, es müsste a ein. Also:

// zwei Beispielfunktionen erzeugen
let f1 = fbuilder(a: 1.0, b: 2.0, c: -0.5)
let f2 = fbuilder(a: 2.0, b: 0.0,  c: 0.7)
Seite 165 (Funktionale Programmierung)

Im Listing callTrice war ein Funktionsaufruf fn zu viel. Der Code muss so aussehen:

func callTrice(_ fn:  @escaping () -> ()) {
  // nur mit @escaping erlaubt:
  let f = fn
  callTwice(f)
  f()
}
Seite 668 (NumberFormatter)

Damit die Darstellung von Zahlen mit Tausendertrennung (also z.B. 123.456,78) funktioniert, muss außer der Eigenschaft usesGroupingSeparator = true auch numberStyle = .decimal eingestellt werden.

let fmt = NumberFormatter()
fmt.numberStyle = .decimal         // diese Zeile fehlt im Buch
fmt.usesGroupingSeparator = true
Seite 692 (Map Capabilities, MapKit)

Sie müssen die Map Capabilities nur dann aktivieren, wenn Ihre App Routing-Informationen darstellen soll (also Anweisungen, wie man von Ort A nach B kommt). Die bloße Nutzung des MKMapView-Steuerelements funktioniert auch ohne aktivierte Map Capabilities und somit ohne das Mitliefern der MapKit-Bibliothek. (Quelle: https://stackoverflow.com/questions/33857579)


Letzte Änderung 15.8.2017. Vielen Dank an alle Leser, die mir Feedback geben!