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

Gebundene Ausgabe
49,90 €
inkl. MwSt. versandkostenfrei!

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 5. Auflage, 06.06.2025
Seiten 729
Format 18,3 x 4,2 x 24,7 cm
Gewicht 1494 g
ISBN-10 3367107344
ISBN-13 9783367107346
Bestell-Nr 36710734A

Produktbeschreibung  

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




Inhalt:



  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

Autorenporträt  
Mehr Angebote zum Thema