Errata zum Buch »Swift — Das umfassende Handbuch« (2025)

Diese Seite enthält Updates und Errata zum Buch »Swift — Das umfassende Handbuch« (5. Auflage 2025 zu Swift 6 und SwiftUI)

S. 57, Learning by Doing, erste Closures

Ganz unten auf der Seite: $0 bezieht sich auf den ersten an die Closure übergebenen Parameter (nicht $1, im Listing ist es korrekt).

S. 57, Learning by Doing, Mindestspaltenbreite für macOS einstellen

Anstelle von

#if os(macOS)
.frame(minWidth: 250, idealWidth: 330, maxWidth: 500)
#endif

funktioniert

#if os(macOS)
.navigationSplitViewColumnWidth(min: 250, ideal: 330, max: 500)
#endif

zuverlässiger. (.frame limitiert nur den Inhalt, die Navigationsspalte kann aber dennoch breiter als 500 Punkt eingestellt werden.)

S. 290, KeyPath-Beispiele

Beim ersten der beiden Beispiele zum Zugriff auf die Eigenschaft city der User-Klasse habe ich den Backslash vergessen. Richtig sieht der Code so aus:

let cities = Set(myUsers.map(\User.city)).sorted()
S. 484, Beispiel Asynchroner Download

Das Beispielprogramm 18/image-download nutzt die Klasse UIImage aus dem UIKit. Diese Klasse steht auf manchen Plattformen nicht zur Verfügung. Deswegen kommt es zu Build-Fehlern, wenn Sie z.B. versuchen, die Beispiel-App unter macOS auszuführen. Abhilfe: Öffnen Sie die Target-Einstellungen General und deaktivieren Sie alle Supported Destinations außer iPhone und iPad.


Letzte Änderung 28.7.2025

Vielen Dank an alle Leser, die mir Feedback geben!