Diese Seite enthält Updates und Errata zum Buch »Swift 5 — Das umfassende Handbuch«.
Errata
S. 25 Autom. Ausführung von Code in Playgrounds
Playgrounds werden nur dann automatisch ausgeführt, wenn der Modus Automatically Run aktiv ist (siehe die folgende Abbildung).

S. 42, mehrzeilige Anweisungen
Die Methode heißt appendingPathComponent
, nicht stringByAppendingPathComponent
. (In den Beispieldateien ist er Code korrekt.)
S. 50, Dictionary-Beispiel
Die Variable hex
sollte besser mit let
statt mit var
deklariert werden.
S. 455 ff (Erscheinungsbild von Segues bzw. des Presentation Controllers)
Mit iOS 13 hat sich das Erscheinungsbild von Apps geändert, wenn Sie mit Segues von einer View in eine andere wechseln. Die vorige View rückt in den Hintergrund, ein winziger Ausschnitt bleibt am oberen Bildschirmrand sichtbar. Das neue Design ist auch im Storyboard in Xcode sichtbar, weswegen die Screenshots im Buch ein wenig anders aussehen als in aktuellen Xcode-Versionen.

Das neue Verhalten ist z.B. in diesem Artikel auf medium.com ausführlich dokumentiert. stackoverflow zeigt, wie sich bei Bedarf das alte Erscheinungsbild erzwingen lässt. Siehe auch
https://developer.apple.com/videos/play/wwdc2019/103
https://developer.apple.com/videos/play/wwdc2019/224
https://developer.apple.com/videos/play/wwdc2019/808
S. 640, Zweites NSTableView-Beispiel (Beispielcode-Verzeichnis 23/macos-table
)
Die vier Variablen der Klasse Country
müssen mit dem Attribut @objc
deklariert werden, also:
class Country : NSObject {
@objc var name: String
@objc var population: Int
@objc var area: Double
@objc var capital: String
...
Alternativ kann die ganze Klasse mit dem Attribut @objcMembers
deklariert werden.
Der Grund: NSTableView kann die Zeilen der Tabelle nur sortieren, wenn die zugeordnet Objekte Key Value Coding-Compliant sind.
Hintergründe: https://stackoverflow.com/questions/44762460, KeyValueCoding in der Apple-Dokumentation
S. 945, App-Store-Artwork für tvOS
Anders als im Buch beschrieben darf das App Icon – App Store (in alten Projekten App Icon – Large) nur in einfacher Auflösung (1x) eingefügt werden, also mit exakt 1280×768 Pixel.
Das App Icon (ehemals App Icon – Small) muss weiterhin in 1x- und 2x-Varianten zur Verfügung gestellt werden, also mit 400×240 Pixel sowie mit 800×480 Pixel.
Siehe auch https://stackoverflow.com/questions/46515644.
S. 1218, Temporäre Verzeichnisse
Die Methode heißt appendingPathComponent
, nicht stringByAppendingPathComponent
. (In den Beispieldateien sowie im Listing auf S. 1219 ist er Code korrekt.)
Letzte Änderung 9.10.2019
Vielen Dank an alle Leser, die mir Feedback geben!