Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Swift 5
Syntax, Grundlagen, Programmiertechniken, App-Entwicklung / Objekt- und protokollorientierte Anwendungsentwicklung /...
Buch von Michael Kofler
Sprache: Deutsch

49,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung

Michael Kofler präsentiert Ihnen auf 1300 Seiten alle Merkmale und Besonderheiten von Apples Programmiersprache. Zugleich erhalten Sie eine Einführung in die Syntax und in die objektorientierte Programmierung. Sie erfahren anhand vieler Beispiele, wie Sie Apps in iOS, macOS und tvOS entwickeln. Ideal für Umsteiger von Objective-C und Java, aber auch für Einsteiger mit Grundkenntnissen im Programmieren. Inklusive iCloud und Server-side Swift.

Aus dem Inhalt:

  • Klassen, Protokolle, Extensions
  • Closures, Umgang mit Fehlern
  • Crashkurs in Xcode
  • Storyboards erstellen
  • Internationalisierung
  • Actions, Outlets, Segues
  • Popovers, Focus Engine
  • Artwork für iOS, macOS und tvOS
  • Programmiertechniken
  • Tabellen und Listen
  • Grafik, Dateien, XML, JSON
  • Audio, Video, Fotots
  • Spritekit
  • Server-side Swift
  • ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid

Michael Kofler präsentiert Ihnen auf 1300 Seiten alle Merkmale und Besonderheiten von Apples Programmiersprache. Zugleich erhalten Sie eine Einführung in die Syntax und in die objektorientierte Programmierung. Sie erfahren anhand vieler Beispiele, wie Sie Apps in iOS, macOS und tvOS entwickeln. Ideal für Umsteiger von Objective-C und Java, aber auch für Einsteiger mit Grundkenntnissen im Programmieren. Inklusive iCloud und Server-side Swift.

Aus dem Inhalt:

  • Klassen, Protokolle, Extensions
  • Closures, Umgang mit Fehlern
  • Crashkurs in Xcode
  • Storyboards erstellen
  • Internationalisierung
  • Actions, Outlets, Segues
  • Popovers, Focus Engine
  • Artwork für iOS, macOS und tvOS
  • Programmiertechniken
  • Tabellen und Listen
  • Grafik, Dateien, XML, JSON
  • Audio, Video, Fotots
  • Spritekit
  • Server-side Swift
  • ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid
Über den Autor
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.
Zusammenfassung
Mit vielen Beispiel-Apps für iOS, macOS und tvOS
Inhaltsverzeichnis
Vorwort ... 17

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. iOS-Grundlagen ... 401

16.1 ... Model-View-Controller (MVC) ... 401

16.2 ... Klassenhierarchie einer App-Ansicht ... 405

16.3 ... Die UIViewController-Klasse ... 407

16.4 ... Phasen einer iOS-App ... 411

16.5 ... Auto Layout ... 414

16.6 ... Layoutregeln durch Code definieren ... 429

16.7 ... Steuerelemente in einer Stack-View anordnen ... 431

16.8 ... Layoutvarianten ... 435

16.9 ... Texteingaben ... 442

16.10 ... Image-Views und Xcassets ... 450

17. iOS-Apps mit mehreren Ansichten ... 453

17.1 ... Storyboard und Controller-Klassen verbinden ... 453

17.2 ... Ansichten durch Segues verbinden ... 454

17.3 ... Segues mit Datenübertragung ... 459

17.4 ... Navigation-Controller ... 464

17.5 ... Tab-Bar-Controller ... 469

17.6 ... Split-View-Controller ... 475

17.7 ... Popups ... 485

17.8 ... Ja/Nein-Dialoge (UIAlertController) ... 496

18. Hello macOS-World! ... 499

18.1 ... Lottozahlengenerator ... 500

19. macOS-Grundlagen ... 509

19.1 ... Programme mit mehreren Fenstern ... 509

19.2 ... Tab-View-Controller ... 516

19.3 ... Standarddialoge ... 523

19.4 ... Tastatur ... 528

19.5 ... Menüs ... 533

19.6 ... Programme ohne Menü ... 542

19.7 ... Dunkles Erscheinungsbild ('Dark Mode') ... 544

20. tvOS ... 547

20.1 ... Hello tvOS! ... 548

20.2 ... Fernbedienung auswerten ... 552

20.3 ... Focus Engine ... 558

TEIL III Programmier- und Arbeitstechniken ... 565

21. Dateien und User-Defaults ... 567

21.1 ... User-Defaults ... 567

21.2 ... Dateinamen und URLs ... 571

21.3 ... Bundle-Dateien und Assets ... 573

21.4 ... Standardverzeichnisse ... 575

21.5 ... Dateioperationen ... 580

21.6 ... Wie geht's weiter? ... 587

22. Netzwerk, XML und JSON ... 589

22.1 ... Dateien per HTTP/HTTPS laden ... 589

22.2 ... XML-Dokumente auswerten ... 597

22.3 ... JSON-Encoder und -Decoder ... 601

22.4 ... Webseiten anzeigen ... 608

23. Tabellen und Listen darstellen ... 615

23.1 ... Listen in iOS-Apps (UITableView) ... 615

23.2 ... Prototypzellen ... 621

23.3 ... Individuelle Gestaltung von Listenzellen ... 626

23.4 ... Veränderliche Listen ... 632

23.5 ... Tabellen in macOS-Apps (NSTableView) ... 634

23.6 ... Collections asynchron füllen (UICollectionView) ... 645

24. GPS- und Kompassfunktionen ... 653

24.1 ... Hello Map-View! ... 653

24.2 ... Wegstrecke aufzeichnen ... 658

24.3 ... Kompassfunktionen ... 665

25. Grafik und Animation ... 667

25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 667

25.2 ... Kompass-Steuerelement ... 673

25.3 ... Core Graphics ... 682

25.4 ... Animationen ... 685

26. Touch, Maus, Gestures und Drag & Drop ... 691

26.1 ... Touch ... 691

26.2 ... Maus ... 698

26.3 ... Gestures ... 705

26.4 ... Drag & Drop (macOS) ... 708

26.5 ... Drag & Drop (iOS) ... 721

27. Audio, Video und Fotos ... 735

27.1 ... Audiowiedergabe mit dem AVAudioPlayer ... 735

27.2 ... Audiowiedergabe mit dem AVPlayer ... 745

27.3 ... Audiowiedergabe mit dem AVPlayerViewController ... 747

27.4 ... Audioaufnahmen mit dem AVAudioRecorder durchführen ... 749

27.5 ... Videos abspielen ... 754

27.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 757

27.7 ... YouTube-Videos abspielen ... 761

27.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 764

27.9 ... Fotos in einer AVCaptureSession aufnehmen ... 766

27.10 ... Barcodes in einer AVCaptureSession erkennen ... 774

28. SpriteKit ... 779

28.1 ... Hello SpriteKit! ... 780

28.2 ... Sprites erzeugen und bewegen ......
Details
Erscheinungsjahr: 2019
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Titelzusatz: Syntax, Grundlagen, Programmiertechniken, App-Entwicklung / Objekt- und protokollorientierte Anwendungsentwicklung / MIt vielen Beispiel-Apps für iOS, macOS und TvOS
Reihe: Rheinwerk Computing
Inhalt: 1328 S.
ISBN-13: 9783836266383
ISBN-10: 3836266385
Sprache: Deutsch
Einband: Gebunden
Autor: Kofler, Michael
Auflage: 4. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 249 x 207 x 73 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 26.04.2019
Gewicht: 2,577 kg
Artikel-ID: 115351520
Über den Autor
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.
Zusammenfassung
Mit vielen Beispiel-Apps für iOS, macOS und tvOS
Inhaltsverzeichnis
Vorwort ... 17

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. iOS-Grundlagen ... 401

16.1 ... Model-View-Controller (MVC) ... 401

16.2 ... Klassenhierarchie einer App-Ansicht ... 405

16.3 ... Die UIViewController-Klasse ... 407

16.4 ... Phasen einer iOS-App ... 411

16.5 ... Auto Layout ... 414

16.6 ... Layoutregeln durch Code definieren ... 429

16.7 ... Steuerelemente in einer Stack-View anordnen ... 431

16.8 ... Layoutvarianten ... 435

16.9 ... Texteingaben ... 442

16.10 ... Image-Views und Xcassets ... 450

17. iOS-Apps mit mehreren Ansichten ... 453

17.1 ... Storyboard und Controller-Klassen verbinden ... 453

17.2 ... Ansichten durch Segues verbinden ... 454

17.3 ... Segues mit Datenübertragung ... 459

17.4 ... Navigation-Controller ... 464

17.5 ... Tab-Bar-Controller ... 469

17.6 ... Split-View-Controller ... 475

17.7 ... Popups ... 485

17.8 ... Ja/Nein-Dialoge (UIAlertController) ... 496

18. Hello macOS-World! ... 499

18.1 ... Lottozahlengenerator ... 500

19. macOS-Grundlagen ... 509

19.1 ... Programme mit mehreren Fenstern ... 509

19.2 ... Tab-View-Controller ... 516

19.3 ... Standarddialoge ... 523

19.4 ... Tastatur ... 528

19.5 ... Menüs ... 533

19.6 ... Programme ohne Menü ... 542

19.7 ... Dunkles Erscheinungsbild ('Dark Mode') ... 544

20. tvOS ... 547

20.1 ... Hello tvOS! ... 548

20.2 ... Fernbedienung auswerten ... 552

20.3 ... Focus Engine ... 558

TEIL III Programmier- und Arbeitstechniken ... 565

21. Dateien und User-Defaults ... 567

21.1 ... User-Defaults ... 567

21.2 ... Dateinamen und URLs ... 571

21.3 ... Bundle-Dateien und Assets ... 573

21.4 ... Standardverzeichnisse ... 575

21.5 ... Dateioperationen ... 580

21.6 ... Wie geht's weiter? ... 587

22. Netzwerk, XML und JSON ... 589

22.1 ... Dateien per HTTP/HTTPS laden ... 589

22.2 ... XML-Dokumente auswerten ... 597

22.3 ... JSON-Encoder und -Decoder ... 601

22.4 ... Webseiten anzeigen ... 608

23. Tabellen und Listen darstellen ... 615

23.1 ... Listen in iOS-Apps (UITableView) ... 615

23.2 ... Prototypzellen ... 621

23.3 ... Individuelle Gestaltung von Listenzellen ... 626

23.4 ... Veränderliche Listen ... 632

23.5 ... Tabellen in macOS-Apps (NSTableView) ... 634

23.6 ... Collections asynchron füllen (UICollectionView) ... 645

24. GPS- und Kompassfunktionen ... 653

24.1 ... Hello Map-View! ... 653

24.2 ... Wegstrecke aufzeichnen ... 658

24.3 ... Kompassfunktionen ... 665

25. Grafik und Animation ... 667

25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 667

25.2 ... Kompass-Steuerelement ... 673

25.3 ... Core Graphics ... 682

25.4 ... Animationen ... 685

26. Touch, Maus, Gestures und Drag & Drop ... 691

26.1 ... Touch ... 691

26.2 ... Maus ... 698

26.3 ... Gestures ... 705

26.4 ... Drag & Drop (macOS) ... 708

26.5 ... Drag & Drop (iOS) ... 721

27. Audio, Video und Fotos ... 735

27.1 ... Audiowiedergabe mit dem AVAudioPlayer ... 735

27.2 ... Audiowiedergabe mit dem AVPlayer ... 745

27.3 ... Audiowiedergabe mit dem AVPlayerViewController ... 747

27.4 ... Audioaufnahmen mit dem AVAudioRecorder durchführen ... 749

27.5 ... Videos abspielen ... 754

27.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 757

27.7 ... YouTube-Videos abspielen ... 761

27.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 764

27.9 ... Fotos in einer AVCaptureSession aufnehmen ... 766

27.10 ... Barcodes in einer AVCaptureSession erkennen ... 774

28. SpriteKit ... 779

28.1 ... Hello SpriteKit! ... 780

28.2 ... Sprites erzeugen und bewegen ......
Details
Erscheinungsjahr: 2019
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Titelzusatz: Syntax, Grundlagen, Programmiertechniken, App-Entwicklung / Objekt- und protokollorientierte Anwendungsentwicklung / MIt vielen Beispiel-Apps für iOS, macOS und TvOS
Reihe: Rheinwerk Computing
Inhalt: 1328 S.
ISBN-13: 9783836266383
ISBN-10: 3836266385
Sprache: Deutsch
Einband: Gebunden
Autor: Kofler, Michael
Auflage: 4. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 249 x 207 x 73 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 26.04.2019
Gewicht: 2,577 kg
Artikel-ID: 115351520
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte