Michael Kofler

Swift

Das umfassende Handbuch. Apps entwickeln mit SwiftUI für iOS und macOS. 5. Auflage. 24,6 cm / 17,9 cm / 4,4 cm ( B/H/T )
Buch (Hardcover), 729 Seiten
EAN 9783367107346
Veröffentlicht Juni 2025
Verlag/Hersteller Rheinwerk Verlag GmbH
Leseprobe öffnen

Auch erhältlich als:

eBook (epub)
39,92
49,90 inkl. MwSt.
Sofort lieferbar (Versand mit Deutscher Post/DHL)
Teilen
Beschreibung

Mit Swift und SwiftUI erstellen Sie professionelle und moderne Apps für macOS und iOS. Wie das geht, zeigt Ihnen Michael Kofler in diesem vollständig neu konzipierten Swift-Handbuch. Von den ersten Zeilen in Xcode über das Design Ihrer neuen App mit SwiftUI bis zur Veröffentlichung im App-Store lernen Sie alle Schritte der Anwendungsentwicklung kennen und machen sich mit den neuen Features von Swift 6 vertraut. Ideal für das Selbststudium und den Unterricht. Aus dem Inhalt: - Crashkurs Xcode - Schleifen, Funktionen und Closures - Strukturen, Klassen und Protokolle - Views anwenden und selbst programmieren - App-Design und Animation - Data Binding, SwiftData und iCloud - Internationalisierung und App Store
Die Fachpresse zur Vorauflage:
Mac Life: 'Wer Apps mit Swift programmieren möchte, erhält mit diesem Wälzer einen soliden Helfer.'

Portrait

Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen undarbeitet als Lehrbeauftragter.

Inhaltsverzeichnis


Vorwort ... 13
Teil I. Einführung ... 17
1. Hello, World! ... 19
1.1 ... Erste Schritte mit Xcode ... 20
1.2 ... Der Hello-World-Code ... 24
1.3 ... Eigene Code-Experimente ... 28
2. Learning by Doing: Die erste App ... 31
2.1 ... Schritt 1: Eine Liste mit den Buchtiteln ... 33
2.2 ... Schritt 2: Gestaltung der Listenelemente ... 45
2.3 ... Schritt 3: Bücher nach Sprachen gruppieren ... 55
2.4 ... Schritt 4: Von der Liste zur Detailansicht ... 58
2.5 ... Schritt 5: Die RatingView ... 63
2.6 ... Schritt 6: Multiplatform- und Farb-Finetuning ... 70
2.7 ... Schritt 7: Persistenz mit SwiftData ... 74
3. Tipps & Tricks ... 81
3.1 ... Syntaxeigenheiten von Swift ... 82
3.2 ... Coding mit KI-Unterstützung ... 87
3.3 ... Xcode ... 90
Teil II. Swift ... 101
4. Variablen, Optionals und Datentypen ... 103
4.1 ... Variablen und Konstanten ... 103
4.2 ... Optionals ... 107
4.3 ... Elementare Datentypen ... 111
4.4 ... Zeichenketten ... 115
4.5 ... Wert- versus Referenztypen ... 122
5. Operatoren ... 125
5.1 ... Zuweisungs- und Rechenoperatoren ... 125
5.2 ... Vergleichsoperatoren und logische Operatoren ... 128
5.3 ... Range-Operatoren ... 131
5.4 ... Operatoren für Fortgeschrittene ... 132
6. Verzweigungen und Schleifen ... 135
6.1 ... Verzweigungen mit if ... 135
6.2 ... Inverse Logik mit guard ... 138
6.3 ... Verzweigungen mit switch ... 139
6.4 ... Versions- oder plattformabhängiger Code ... 141
6.5 ... Schleifen ... 142
7. Funktionen und Closures ... 149
7.1 ... Funktionen definieren und ausführen ... 149
7.2 ... Parameter ... 157
7.3 ... Standardfunktionen ... 164
7.4 ... Funktionen als eigener Datentyp ... 166
7.5 ... Closures ... 168
8. Arrays, Dictionaries, Sets und Tupel ... 173
8.1 ... Arrays ... 173
8.2 ... Arrays und Aufzählungen verarbeiten ... 180
8.3 ... Dictionaries ... 187
8.4 ... Sets ... 189
8.5 ... Tupel ... 191
9. Grundlagen der objektorientierten Programmierung ... 193
9.1 ... Klassen und Strukturen ... 193
9.2 ... Enumerationen ... 201
9.3 ... Eigenschaften ... 204
9.4 ... Init-Funktion ... 213
9.5 ... Methoden ... 219
9.6 ... Subscripts ... 225
9.7 ... Typ-Aliasse ... 227
10. Objektorientierte Programmierung für Fortgeschrittene ... 229
10.1 ... Vererbung ... 229
10.2 ... Generics ... 239
10.3 ... Protokolle ... 242
10.4 ... Standardprotokolle ... 251
10.5 ... Extensions ... 256
10.6 ... Protokollerweiterungen ... 258
11. Fehlerabsicherung ... 263
11.1 ... Fehlerabsicherung mit try und catch ... 263
11.2 ... Selbst Fehler auslösen (throws und throw) ... 270
11.3 ... Fehler in Funktionen weitergeben (rethrows) ... 273
11.4 ... Das Error-Protokoll ... 275
12. Swift-Interna ... 277
12.1 ... Speicherverwaltung ... 277
12.2 ... Attribute, Property Wrapper und Makros ... 282
12.3 ... Reflection und KeyPath-Ausdrücke ... 286
12.4 ... Swift Package Manager ... 290
Teil III. SwiftUI ... 293
13. Views ... 295
13.1 ... Grundlagen ... 297
13.2 ... Text ... 307
13.3 ... Buttons und Optionen ... 312
13.4 ... Bitmaps und Icons (Image) ... 317
13.5 ... Grafik (Canvas, Path und Shape) ... 321
13.6 ... Container (Stack, ScrollView, Grid) ... 323
13.7 ... Farbe, Datum und Uhrzeit auswählen (Date- und ColorPicker) ... 330
13.8 ... Ereignisse (Gestures) ... 333
13.9 ... Vorschau (Preview-Optionen) ... 336
13.10 ... Apps auf dem eigenen iPhone ausführen ... 340
14. State, Binding und Observable ... 343
14.1 ... Variablen synchronisieren (@State und @Binding) ... 343
14.2 ... Umgebungsvariablen (@Environment) ... 352
14.3 ... Fokus-Management (@FocusState) ... 354
14.4 ... Instanzen von Klassen beobachten (@Observable) ... 355
14.5 ... Model-View-ViewModel (MVVM) ... 362
14.6 ... Code-Organisation nach MVVM-Regeln ... 364
15. Listen und Tabellen ... 373
15.1 ... Listen ... 373
15.2 ... Listen manipulieren ... 379
15.3 ... Beispiel: Issue-Management ... 382
15.4 ... Tabellen ... 392
16. Navigation ... 399
16.1 ... NavigationStack ... 399
16.2 ... Navigation entlang eines Pfads ... 402
16.3 ... Deep Links ... 407
16.4 ... NavigationSplitView ... 414
16.5 ... TabView ... 419
16.6 ... Toolbar ... 421
16.7 ... Modale Dialoge (Alerts, Sheets, Popovers) ... 424
16.8 ... Best Practices ... 428
17. SwiftUI-Spezialthemen ... 431
17.1 ... Animationen ... 432
17.2 ... Einstellungen (User-Defaults, @AppStorage) ... 437
17.3 ... macOS-App mit mehreren Fenstern (FileDocuments) ... 440
17.4 ... Eigene View-Modifier ... 448
17.5 ... UIKit-Views in SwiftUI verwenden ... 452
17.6 ... Capabilities und Entitlements ... 458
Teil IV. Programmier- und Arbeitstechniken ... 461
18. Asynchrone Programmierung ... 463
18.1 ... Tasks, async und await ... 465
18.2 ... actor und Sendable ... 473
18.3 ... Asynchrone Programmierung in SwiftUI ... 480
18.4 ... Beispiel: Asynchroner Download ... 484
18.5 ... Beispiel: Datenauswertung und -visualisierung ... 491
19. Dateien, JSON und XML ... 499
19.1 ... Dateinamen und URLs ... 500
19.2 ... Standardverzeichnisse ... 501
19.3 ... Dateioperationen ... 506
19.4 ... Bundle-Dateien und Assets ... 510
19.5 ... JSON-Dateien verarbeiten ... 512
19.6 ... XML-Dateien lesen ... 519
20. Netzwerkfunktionen und REST-APIs ... 525
20.1 ... Dateien herunterladen ... 526
20.2 ... REST-APIs nutzen ... 528
20.3 ... Beispiel: Aktuelles Wetter ermitteln ... 531
20.4 ... Beispiel: New-York-Times-Bestsellerliste ... 534
21. SwiftData ... 541
21.1 ... Persistenz ... 541
21.2 ... SwiftData-Überblick ... 543
21.3 ... Modellierung (Schema) ... 545
21.4 ... Container ... 549
21.5 ... Daten lesen und speichern (Kontext) ... 550
21.6 ... Relationen ... 554
21.7 ... SwiftData-Interna ... 559
21.8 ... Beispiel: To-do-App ... 564
21.9 ... Undo-Funktion für die To-do-App ... 574
22. iCloud ... 581
22.1 ... iCloud-Grundlagen ... 581
22.2 ... Hello, iCloud! ... 583
22.3 ... SwiftData und iCloud ... 592
Teil V Apps ... 597
23. Währungskalkulator ... 599
23.1 ... App-Überblick ... 599
23.2 ... Umrechnungskurse herunterladen und speichern (Model) ... 602
23.3 ... UI-Logik (View Model) ... 606
23.4 ... Benutzeroberfläche (View) ... 612
23.5 ... Währungseinstellung (View) ... 616
24. Lokalisierung und App Store ... 623
24.1 ... Artwork ... 623
24.2 ... Mehrsprachige Apps ... 626
24.3 ... Eigene Apps im App Store anbieten ... 637
24.4 ... macOS-Programme selbst weitergeben ... 647
25. Familieneinkaufsliste ... 653
25.1 ... Bedienung ... 654
25.2 ... Software-Design ... 658
25.3 ... Einkaufsliste und Kategorien (Model) ... 666
25.4 ... UI-Logik (View Model) ... 671
25.5 ... Grundaufbau der Benutzeroberfläche (ContentView) ... 675
25.6 ... Shopping-Tab (View) ... 678
25.7 ... Planungs-Tab (View) ... 685
25.8 ... Settings-Tab (View) ... 689
25.9 ... REST-Server-Implementierung mit Python ... 693
25.10 ... REST-Client in Swift (View Model) ... 706
Index ... 717

Hersteller
Rheinwerk Verlag GmbH
Rheinwerkallee 4

DE - 53227 Bonn

E-Mail: Info@rheinwerk-verlag.de

Das könnte Sie auch interessieren

Julia Ruhs
Links-grüne Meinungsmacht
Buch (Softcover)
Sofort lieferbar
20,00
Sarah Kuttner
Mama & Sam
Buch (Hardcover)
Sofort lieferbar
24,00
Aldous Huxley
Zeit der Oligarchen
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
14,00
Katharina Zweig
Weiß die KI, dass sie nichts weiß?
Buch (Softcover)
Sofort lieferbar
20,00
Marc-Uwe Kling
Der Tag, an dem die Oma das Internet kaputt...
Buch (Hardcover)
Sofort lieferbar
12,00
Sofort lieferbar
3,50
Tim Berners-Lee
This Is for Everyone
Buch (Hardcover)
Sofort lieferbar
28,00
Martin Andree
Krieg der Medien
Buch (Hardcover)
Sofort lieferbar
28,00
Aya Jaff
Broligarchie
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
23,99
Sofort lieferbar
19,90
Frank-Michael Becker
Formelsammlung bis zum Abitur - Mathematik ...
Buch (Softcover)
Sofort lieferbar
16,50
Jörg Rieger Espind...
Windows 11 für Senioren
Buch (Softcover)
Sofort lieferbar
19,90
Jimmy Wales
TRUST
Buch (Hardcover)
Sofort lieferbar
24,00
Annekathrin Kohout
Hyperreaktiv
Buch (Softcover)
Sofort lieferbar
18,00
Christoph Engemann
Die Zukunft des Lesens
Buch (Softcover)
Lieferbar innerhalb von 3 Wochen
14,00
Cornelia Lohs
Der inoffizielle James Bond Reiseführer
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
19,99
Steffen Mau
Triggerpunkte
Buch (Softcover)
Sofort lieferbar
25,00
Albert Wiedemann
Informatik (Oldenbourg) Band 7: Grundkurs ...
Buch (Hardcover)
Lieferbar innerhalb von 3 Wochen
33,50
Ingo Dachwitz
Digitaler Kolonialismus
Buch (Hardcover)
Sofort lieferbar
28,00
Keach Hagey
Sam Altman
Buch (Hardcover)
Sofort lieferbar
28,00
Robert Klaßen
Windows 11
Buch (Softcover)
Sofort lieferbar
12,90
Johannes Knörzer
Ein Quantum Zukunft - Quantenphysik und Qua...
Buch (Softcover)
Lieferbar innerhalb von 5-7 Tagen
24,99
Rainer Hattenhauer
ChatGPT u. Co.
Buch (Softcover)
Sofort lieferbar
24,90
Vera Weidenbach
Ada Lovelace
Buch (Hardcover)
Sofort lieferbar
24,00
Oliver Bock
ChatGPT - Das Praxisbuch
Buch (Softcover)
Sofort lieferbar
19,95
Kim Beck
Basiskurs Medienbildung.Gesamtkurs
Buch (Softcover)
Sofort lieferbar
8,00
Douglas Rushkoff
Survival of the Richest
Buch (Softcover)
Sofort lieferbar
22,00
Johanna Pirker
The Game is On
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
26,00
Inga Strümke
Künstliche Intelligenz
Buch (Hardcover)
Sofort lieferbar
24,90
@Kriegundfreitag
Psyche, du kleiner Schlingel
Buch (Hardcover)
Sofort lieferbar
14,00
Uwe Albrecht
iPhone und iPad
Buch (Softcover)
Sofort lieferbar
19,90
Christian Immler
WhatsApp - optimal nutzen - neueste Version...
Buch (Softcover)
Sofort lieferbar
12,95
Bernhard Pörksen
Zuhören
Buch (Hardcover)
Sofort lieferbar
24,00
Tara-Louise Wittwer
Sorry, aber ...
Buch (Softcover)
Sofort lieferbar
18,00
Ursula Poznanski
Erebos 2
Buch (Hardcover)
Sofort lieferbar
19,95
Sofort lieferbar
24,30