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!