Verkauf durch Sack Fachmedien

Kofler

Swift

Das umfassende Handbuch. Apps entwickeln mit SwiftUI für iOS und macOS

Medium: Buch
ISBN: 978-3-367-10734-6
Verlag: Rheinwerk Verlag GmbH
Erscheinungstermin: 06.06.2025
sofort versandfertig, Lieferfrist: 1-3 Werktage

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.'


Produkteigenschaften


  • Artikelnummer: 9783367107346
  • Medium: Buch
  • ISBN: 978-3-367-10734-6
  • Verlag: Rheinwerk Verlag GmbH
  • Erscheinungstermin: 06.06.2025
  • Sprache(n): Deutsch
  • Auflage: 5. Auflage 2025
  • Serie: Rheinwerk Computing
  • Produktform: Gebunden
  • Gewicht: 1496 g
  • Seiten: 700
  • Format (B x H x T): 179 x 246 x 44 mm
  • Ausgabetyp: Kein, Unbekannt
Autoren/Hrsg.

Autoren

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 und arbeitet als Lehrbeauftragter.


  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