Swift 5 - Michael Kofler

Swift 5

Das umfassende Handbuch. Apps entwickeln für iOS, macOS und tvOS. Ideal für Umsteiger von Objective-C.

(Autor)

Buch | Hardcover
1328 Seiten
2019 | 4., aktualisierte und erweiterte Auflage
Rheinwerk (Verlag)
978-3-8362-6638-3 (ISBN)
49,90 inkl. MwSt
Der perfekte Start in Apples Programmiersprache Swift!
  • Alle Swift-Grundlagen und Sprachelemente: von for-Schleife bis Closures
  • Moderne Anwendungen mit Xcode programmieren
  • Beispiel-Apps und Spiele entwickeln – für iOS, macOS und tvOS

Werden Sie Swift-Entwickler: Michael Kofler präsentiert Ihnen alle Sprachmerkmale und Besonderheiten von Swift und führt Sie in die Syntax der Sprache ein. Mithilfe objektorientierter und funktionaler Programmierung lernen Sie, ansprechende, moderne Apps in iOS, macOS und tvOS zu entwickeln.

Dabei machen Sie sich auch mit der Arbeit in Xcode vertraut und lernen eine Vielzahl an nützlichen Frameworks kennen. Machen Sie bei neun größeren App-Projekten mit und erleben Sie die Swift-Funktionen direkt in der Praxis.

Ideal für Umsteiger von Objective-C und Java sowie für Einsteiger mit Grundkenntnissen im Programmieren.

Solides Grundlagenwissen
Von der einfachen for-Schleife bis zum Einsatz von Closures: Dieses Buch präsentiert Ihnen alle Sprachelemente von Swift 5 und erläutert ihren Einsatz. Mithilfe von objektorientierter und funktionaler Programmierung lernen Sie so, ansprechende Apps zu entwickeln.

Zeitgemäße Entwicklungsmethoden
Mit Swift-Wissen allein können Sie aber noch keine App schreiben. Dieses Buch macht daher nicht an den Grenzen von Swift halt, sondern führt Sie auch in die Arbeit mit Xcode und hilfreichen Frameworks ein.

Praxisnahe Beispiel-Apps
Damit Sie das vielschichtige Zusammenspiel aus Swift, Xcode und UIKit bzw. Cocoa verstehen, werden vollständige Apps für iOS, macOS und tvOS entwickelt. Neben vielen Mini-Beispielen zeigt Ihnen Michael Kofler anhand von neun größeren Projekten alle Funktionen direkt in der Praxis.

Behandelt werden:
  • Klassen, Protokolle, Extensions
  • Closures, Fehlerabsicherung
  • Crashkurs Xcode, Storyboards
  • Internationalisierung
  • Apps für iOS, macOS, tvOS
  • Actions, Outlets, Segues
  • Popover, Focus Engine
  • Artwork
  • Tabellen und Listen
  • Grafik, Dateien, XML, JSON
  • Spritekit
  • Server-side Swift, iCloud, App Store

Dr. Michael Kofler studierte Telematik an der TU Graz. Er zählt zu den erfolgreichsten und vielseitigsten Computerbuchautoren im deutschen Sprachraum. Zu seinen Themengebieten zählen neben Java auch Linux, macOS, der Raspberry Pi, MySQL, KVM, Visual Basic und Excel-VBA. Viele seiner Bücher wurden übersetzt. Michael Kofler arbeitet auch als Software-Entwickler, Berater sowie als Lehrbeauftragter an zwei Fachhochschulen.

TEIL I Swift ... 21

1. Hello World! ... 23

1.1 ... "Hello World" im Playground ... 23

1.2 ... "Hello World" als Terminal-App ... 32

2. Swift-Crashkurs ... 41

2.1 ... Elementare Syntaxregeln und Kommentare ... 41

2.2 ... Variablen, Konstanten und Datentypen ... 46

2.3 ... Strukturierung des Codes ... 50

2.4 ... Klassen und Datenstrukturen ... 54

2.5 ... Fehlerabsicherung ... 56

2.6 ... Xcode-Crashkurs ... 58

3. Operatoren ... 69

3.1 ... Zuweisungs- und Rechenoperatoren ... 69

3.2 ... Vergleichsoperatoren und logische Operatoren ... 74

3.3 ... Range-Operatoren ... 78

3.4 ... Operatoren für Fortgeschrittene ... 82

3.5 ... Eigene Operatoren ... 85

4. Variablen und Optionals ... 89

4.1 ... Variablen und Konstanten ... 89

4.2 ... Optionals ... 95

4.3 ... Wert- versus Referenztypen ... 100

5. Verzweigungen und Schleifen ... 103

5.1 ... Verzweigungen mit if ... 103

5.2 ... Inverse Logik mit guard ... 106

5.3 ... Verzweigungen mit switch ... 108

5.4 ... Versions- oder plattformabhängiger Code ... 111

5.5 ... Schleifen ... 112

5.6 ... Nicht triviale Schleifen ... 117

6. Funktionen und Closures ... 123

6.1 ... Funktionen definieren und ausführen ... 123

6.2 ... Parameter ... 134

6.3 ... Standardfunktionen ... 141

6.4 ... Funktionale Programmierung ... 145

6.5 ... Closures ... 150

7. Zahlen und geometrische Strukturen ... 161

7.1 ... Zahlen und boolesche Werte ... 161

7.2 ... NSNumber ... 166

7.3 ... CGFloat, CGPoint, CGSize und Co. ... 167

8. Zeichenketten ... 173

8.1 ... Syntax ... 173

8.2 ... Bearbeitung von Zeichenketten ... 179

8.3 ... Suchen und ersetzen ... 183

8.4 ... Zeichenketten zerlegen und zusammensetzen ... 186

8.5 ... Zeichenketten und Zahlen umwandeln ... 192

8.6 ... Zeichenketten und binäre Daten umwandeln (Data-Struktur) ... 195

9. Datum und Uhrzeit ... 197

9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 197

9.2 ... Rechnen mit Datum und Uhrzeit ... 199

10. Arrays, Dictionaries, Sets und Tupel ... 201

10.1 ... Arrays ... 201

10.2 ... Arrays und Aufzählungen verarbeiten ... 211

10.3 ... Dictionaries ... 221

10.4 ... Sets ... 225

10.5 ... Option-Sets ... 226

10.6 ... Tupel ... 228

10.7 ... Lottosimulator ... 230

11. Objektorientierte Programmierung I ... 235

11.1 ... Klassen und Strukturen ... 236

11.2 ... Enumerationen ... 244

11.3 ... Eigenschaften ... 251

11.4 ... Init- und Deinit-Funktion ... 263

11.5 ... Methoden ... 269

11.6 ... Subscripts ... 276

11.7 ... Typ-Aliasse ... 279

11.8 ... Speicherverwaltung ... 279

12. Objektorientierte Programmierung II ... 285

12.1 ... Vererbung ... 285

12.2 ... Generics ... 297

12.3 ... Protokolle ... 302

12.4 ... Standardprotokolle ... 312

12.5 ... Extensions ... 320

12.6 ... Protokollerweiterungen ... 325

12.7 ... Reflection und Metatypen ... 328

13. Fehlerabsicherung ... 335

13.1 ... Fehlerabsicherung mit try und catch ... 335

13.2 ... Selbst Fehler auslösen (throws und throw) ... 344

13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 348

13.4 ... Das Error-Protokoll ... 351

13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 353

13.6 ... Result-Datentyp ... 355

14. Importe, Attribute und Systemfunktionen ... 361

14.1 ... Module, Frameworks und Importe ... 361

14.2 ... Attribute ... 365

14.3 ... Systemfunktionen aufrufen ... 367

TEIL II App-Programmierung ... 373

15. Hello iOS-World! ... 375

15.1 ... Projektstart ... 376

15.2 ... Gestaltung der App ... 377

15.3 ... Steuerung der App durch Code ... 381

15.4 ... Actions und Outlets für Fortgeschrittene ... 386

15.5 ... Layout optimieren ... 389

15.6 ... Textgröße mit einem Slider einstellen ... 394

15.7 ... Apps auf dem eigenen iPhone oder iPad ausführen ... 396

15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 399

16. i TEIL I Swift ... 21

1. Hello World! ... 23

1.1 ... "Hello World" im Playground ... 23

1.2 ... "Hello World" als Terminal-App ... 32

2. Swift-Crashkurs ... 41

2.1 ... Elementare Syntaxregeln und Kommentare ... 41

2.2 ... Variablen, Konstanten und Datentypen ... 46

2.3 ... Strukturierung des Codes ... 50

2.4 ... Klassen und Datenstrukturen ... 54

2.5 ... Fehlerabsicherung ... 56

2.6 ... Xcode-Crashkurs ... 58

3. Operatoren ... 69

3.1 ... Zuweisungs- und Rechenoperatoren ... 69

3.2 ... Vergleichsoperatoren und logische Operatoren ... 74

3.3 ... Range-Operatoren ... 78

3.4 ... Operatoren für Fortgeschrittene ... 82

3.5 ... Eigene Operatoren ... 85

4. Variablen und Optionals ... 89

4.1 ... Variablen und Konstanten ... 89

4.2 ... Optionals ... 95

4.3 ... Wert- versus Referenztypen ... 100

5. Verzweigungen und Schleifen ... 103

5.1 ... Verzweigungen mit if ... 103

5.2 ... Inverse Logik mit guard ... 106

5.3 ... Verzweigungen mit switch ... 108

5.4 ... Versions- oder plattformabhängiger Code ... 111

5.5 ... Schleifen ... 112

5.6 ... Nicht triviale Schleifen ... 117

6. Funktionen und Closures ... 123

6.1 ... Funktionen definieren und ausführen ... 123

6.2 ... Parameter ... 134

6.3 ... Standardfunktionen ... 141

6.4 ... Funktionale Programmierung ... 145

6.5 ... Closures ... 150

7. Zahlen und geometrische Strukturen ... 161

7.1 ... Zahlen und boolesche Werte ... 161

7.2 ... NSNumber ... 166

7.3 ... CGFloat, CGPoint, CGSize und Co. ... 167

8. Zeichenketten ... 173

8.1 ... Syntax ... 173

8.2 ... Bearbeitung von Zeichenketten ... 179

8.3 ... Suchen und ersetzen ... 183

8.4 ... Zeichenketten zerlegen und zusammensetzen ... 186

8.5 ... Zeichenketten und Zahlen umwandeln ... 192

8.6 ... Zeichenketten und binäre Daten umwandeln (Data-Struktur) ... 195

9. Datum und Uhrzeit ... 197

9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 197

9.2 ... Rechnen mit Datum und Uhrzeit ... 199

10. Arrays, Dictionaries, Sets und Tupel ... 201

10.1 ... Arrays ... 201

10.2 ... Arrays und Aufzählungen verarbeiten ... 211

10.3 ... Dictionaries ... 221

10.4 ... Sets ... 225

10.5 ... Option-Sets ... 226

10.6 ... Tupel ... 228

10.7 ... Lottosimulator ... 230

11. Objektorientierte Programmierung I ... 235

11.1 ... Klassen und Strukturen ... 236

11.2 ... Enumerationen ... 244

11.3 ... Eigenschaften ... 251

11.4 ... Init- und Deinit-Funktion ... 263

11.5 ... Methoden ... 269

11.6 ... Subscripts ... 276

11.7 ... Typ-Aliasse ... 279

11.8 ... Speicherverwaltung ... 279

12. Objektorientierte Programmierung II ... 285

12.1 ... Vererbung ... 285

12.2 ... Generics ... 297

12.3 ... Protokolle ... 302

12.4 ... Standardprotokolle ... 312

12.5 ... Extensions ... 320

12.6 ... Protokollerweiterungen ... 325

12.7 ... Reflection und Metatypen ... 328

13. Fehlerabsicherung ... 335

13.1 ... Fehlerabsicherung mit try und catch ... 335

13.2 ... Selbst Fehler auslösen (throws und throw) ... 344

13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 348

13.4 ... Das Error-Protokoll ... 351

13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 353

13.6 ... Result-Datentyp ... 355

14. Importe, Attribute und Systemfunktionen ... 361

14.1 ... Module, Frameworks und Importe ... 361

14.2 ... Attribute ... 365

14.3 ... Systemfunktionen aufrufen ... 367

TEIL II App-Programmierung ... 373

15. Hello iOS-World! ... 375

15.1 ... Projektstart ... 376

15.2 ... Gestaltung der App ... 377

15.3 ... Steuerung der App durch Code ... 381

15.4 ... Actions und Outlets für Fortgeschrittene ... 386

15.5 ... Layout optimieren ... 389

15.6 ... Textgröße mit einem Slider einstellen ... 394

15.7 ... Apps auf dem eigenen iPhone oder iPad ausführen ... 396

15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 399

16. i

»Wer Apps mit Swift programmieren möchte, erhält mit diesem Wälzer einen soliden Helfer.« Mac Life 201911

Kofler schreibt verständlich und das Buch ist grafisch so aufbereitet, dass es übersichtlich und gut zu lesen ist. Erfreulich ist zudem, dass es durch seine gute Strukturierung sowohl für Anfänger als auch für Umsteiger gut verwendbar ist. Wilhelmshavener Zeitung zur Vorauflage

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 190 x 240 mm
Einbandart gebunden
Themenwelt Informatik Programmiersprachen / -werkzeuge Mac / Cocoa Programmierung
Informatik Software Entwicklung Mobile- / App-Entwicklung
Schlagworte Apple • Apple-TV • Apple-Watch • Apps • CoCoA • Hand-Buch Bücher lernen Grundlagen Kurse Tipps Workshops Tutorials Wissen Anleitung Training • iOS-Apps • iPad • iPhone • macOS OS X • Objective-C • Programmieren Entwickeln • Programmierung App-Entwicklung • Rheinwerk-Verlag Computing • Swift 2 3 4 • Xcode
ISBN-10 3-8362-6638-5 / 3836266385
ISBN-13 978-3-8362-6638-3 / 9783836266383
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

Buch (2023)
Carl Hanser (Verlag)
59,99
The Big Nerd Ranch Guide

von Matthew Mathias; Mikey Ward; John Gallagher

Buch | Softcover (2020)
Big Nerd Ranch Guides (Verlag)
48,75