Swift 4
Das umfassende Handbuch. Alle Beispielprojekte zum Download
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
Michael Kofler...
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
Michael Kofler...
Leider schon ausverkauft
Buch
- Lastschrift, Kreditkarte, Paypal, Rechnung
- Kostenlose Rücksendung
Produktdetails
Produktinformationen zu „Swift 4 “
Klappentext zu „Swift 4 “
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
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.
Aus dem Inhalt:
Klassen, Protokolle, Extensions
Closures, Umgang mit Fehlern
Crashkurs in Xcode
Storyboards erstellen
Internationalisierung
Actions, Outlets, SeguesPopovers, 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
Inhaltsverzeichnis zu „Swift 4 “
Vorwort ... 15
TEIL I Swift ... 19
1. Hello World! ... 21
1.1 ... »Hello World« im Playground ... 21
1.2 ... »Hello World« als Terminal-App ... 31
1.3 ... »Hello World« auf dem iPad ... 39
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 ... 71
3.1 ... Zuweisungs- und Rechenoperatoren ... 71
3.2 ... Vergleichsoperatoren und logische Operatoren ... 76
3.3 ... Range-Operatoren ... 80
3.4 ... Operatoren für Fortgeschrittene ... 84
3.5 ... Eigene Operatoren ... 87
4. Variablen und Optionals ... 93
4.1 ... Variablen und Konstanten ... 93
4.2 ... Optionals ... 99
4.3 ... Wert- versus Referenztypen ... 104
5. Verzweigungen und Schleifen ... 107
5.1 ... Verzweigungen mit if ... 107
5.2 ... Inverse Logik mit guard ... 110
5.3 ... Verzweigungen mit switch ... 112
5.4 ... Versions- oder plattformabhängiger Code ... 115
5.5 ... Schleifen ... 117
5.6 ... Nicht triviale Schleifen ... 121
6. Funktionen und Closures ... 127
6.1 ... Funktionen definieren und ausführen ... 127
6.2 ... Parameter ... 138
6.3 ... Standardfunktionen ... 145
6.4 ... Funktionale Programmierung ... 149
6.5 ... Closures ... 154
7. Zahlen und geometrische Strukturen ... 165
7.1 ... Zahlen und boolesche Werte ... 165
7.2 ... NSNumber ... 170
7.3 ... CGFloat, CGPoint, CGSize und Co. ... 171
8. Zeichenketten ... 179
8.1 ... Syntax ... 180
8.2 ... Bearbeitung von Zeichenketten ... 184
8.3 ... Suchen und ersetzen ... 188
8.4 ... Zeichenketten
... mehr
zerlegen und zusammensetzen ... 191
8.5 ... Zeichenketten und Zahlen umwandeln ... 197
8.6 ... Zeichenketten und binäre Daten umwandeln (Data-Struktur) ... 201
9. Datum und Uhrzeit ... 203
9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 203
9.2 ... Rechnen mit Datum und Uhrzeit ... 205
10. Arrays, Dictionaries, Sets und Tupel ... 207
10.1 ... Arrays ... 207
10.2 ... Arrays und Aufzählungen verarbeiten ... 217
10.3 ... Dictionaries ... 226
10.4 ... Sets ... 230
10.5 ... Option-Sets ... 231
10.6 ... Tupel ... 233
10.7 ... Lottosimulator ... 235
11. Objektorientierte Programmierung I ... 241
11.1 ... Klassen und Strukturen ... 242
11.2 ... Enumerationen ... 250
11.3 ... Eigenschaften ... 254
11.4 ... Init- und Deinit-Funktion ... 266
11.5 ... Methoden ... 271
11.6 ... Subscripts ... 278
11.7 ... Typ-Aliasse ... 281
11.8 ... Speicherverwaltung ... 282
12. Objektorientierte Programmierung II ... 287
12.1 ... Vererbung ... 287
12.2 ... Generics ... 299
12.3 ... Protokolle ... 304
12.4 ... Standardprotokolle ... 314
12.5 ... Extensions ... 322
12.6 ... Protokollerweiterungen ... 328
12.7 ... Reflection und Metatypen ... 331
13. Fehlerabsicherung ... 337
13.1 ... Fehlerabsicherung mit try und catch ... 337
13.2 ... Selbst Fehler auslösen (throws und throw) ... 346
13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 350
13.4 ... Das Error-Protokoll ... 354
13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 355
14. Importe, Attribute und Systemfunktionen ... 359
14.1 ... Module, Frameworks und Importe ... 359
14.2 ... Attribute ... 363
14.3 ... Systemfunktionen aufrufen ... 365
TEIL II App-Programmierung ... 371
15. Hello iOS-World! ... 373
15.1 ... Projektstart ... 374
15.2 ... Gestaltung der App ... 375
15.3 ... Steuerung der App durch Code ... 380
15.4 ... Actions und Outlets für Fortgeschrittene ... 385
15.5 ... Layout optimieren ... 388
15.6 ... Textgröße mit einem Slider einstellen ... 395
15.7 ... Apps auf dem eigenen iPhone/iPad ausführen ... 398
15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 400
16. iOS-Grundlagen ... 403
16.1 ... Model-View-Controller (MVC) ... 403
16.2 ... Klassenhierarchie einer App-Ansicht ... 407
16.3 ... Die UIViewController-Klasse ... 409
16.4 ... Phasen einer iOS-App ... 414
16.5 ... Auto Layout ... 417
16.6 ... Layoutregeln durch Code definieren ... 433
16.7 ... Steuerelemente in einer Stack-View anordnen ... 435
16.8 ... Layoutvarianten ... 440
16.9 ... Texteingaben ... 448
16.10 ... Image-Views und Xcassets ... 455
17. iOS-Apps mit mehreren Ansichten ... 459
17.1 ... Storyboard und Controller-Klassen verbinden ... 459
17.2 ... Ansichten durch Segues verbinden ... 460
17.3 ... Segues mit Datenübertragung ... 465
17.4 ... Navigation-Controller ... 470
17.5 ... Tab-Bar-Controller ... 476
17.6 ... Split-View-Controller ... 482
17.7 ... Popups ... 493
17.8 ... Ja/Nein-Dialoge (UIAlertController) ... 503
18. Hello macOS-World! ... 507
18.1 ... Von iOS zu macOS ... 507
18.2 ... Lottozahlengenerator ... 509
19. macOS-Grundlagen ... 519
19.1 ... Programme mit mehreren Fenstern ... 519
19.2 ... Tab-View-Controller ... 526
19.3 ... Standarddialoge ... 533
19.4 ... Tastatur ... 538
19.5 ... Menüs ... 543
19.6 ... Programme ohne Menü ... 551
20. tvOS ... 555
20.1 ... Hello tvOS! ... 556
20.2 ... Fernbedienung auswerten ... 561
20.3 ... Focus Engine ... 567
TEIL III Programmier- und Arbeitstechniken ... 575
21. Dateien und User-Defaults ... 577
21.1 ... User-Defaults ... 577
21.2 ... Dateinamen und URLs ... 582
21.3 ... Bundle-Dateien und Assets ... 584
21.4 ... Standardverzeichnisse ... 586
21.5 ... Dateioperationen ... 590
21.6 ... Wie geht's weiter? ... 599
22. Netzwerk, XML und JSON ... 601
22.1 ... Dateien per HTTP/HTTPS laden ... 601
22.2 ... XML-Dokumente auswerten ... 610
22.3 ... JSON-Encoder und -Decoder ... 614
22.4 ... Webseiten anzeigen ... 621
23. Tabellen und Listen darstellen ... 629
23.1 ... Listen in iOS-Apps (UITableView) ... 629
23.2 ... Prototypzellen ... 635
23.3 ... Individuelle Gestaltung von Listenzellen ... 640
23.4 ... Veränderliche Listen ... 647
23.5 ... Tabellen in macOS-Apps (NSTableView) ... 650
23.6 ... Collections asynchron füllen (UICollectionView) ... 661
24. GPS- und Kompassfunktionen ... 671
24.1 ... Hello MapView! ... 671
24.2 ... Wegstrecke aufzeichnen ... 676
24.3 ... Kompassfunktionen ... 683
25. Grafik und Animation ... 687
25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 687
25.2 ... Kompass-Steuerelement ... 694
25.3 ... Core Graphics ... 702
25.4 ... Animationen ... 706
26. Touch, Maus, Gestures und Drag&Drop ... 711
26.1 ... Touch ... 711
26.2 ... Maus ... 718
26.3 ... Gestures ... 725
26.4 ... Drag&Drop (macOS) ... 728
26.5 ... Drag&Drop (iOS) ... 742
27. Audio, Video und Fotos ... 757
27.1 ... Audio-Wiedergabe mit dem AVAudioPlayer ... 757
27.2 ... Audio-Wiedergabe mit dem AVPlayer ... 768
27.3 ... Audio-Wiedergabe mit dem AVPlayerViewController ... 770
27.4 ... Audio-Aufnahmen mit dem AVAudioRecorder durchführen ... 772
27.5 ... Videos abspielen ... 777
27.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 781
27.7 ... YouTube-Videos abspielen ... 785
27.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 788
27.9 ... Fotos in einer AVCaptureSession aufnehmen ... 791
27.10 ... Barcodes in einer AVCaptureSession erkennen ... 799
28. SpriteKit ... 803
28.1 ... Hello SpriteKit! ... 804
28.2 ... Sprites erzeugen und bewegen ... 813
28.3 ... Spielsteuerung durch Touch-Ereignisse ... 819
28.4 ... Bewegungssteuerung (Gyroskop und Accelerometer) ... 825
28.5 ... Aktionen ... 832
28.6 ... Der Game-Loop ... 838
28.7 ... Kollisionserkennung ... 840
28.8 ... Minispiel: Luftballone abschießen ... 845
28.9 ... Physik ... 852
28.10 ... Minispiel: Pyramide zerstören ... 858
28.11 ... Scene-Editor ... 865
28.12 ... Partikel-Emitter ... 872
29. iCloud ... 875
29.1 ... iCloud-Grundlagen ... 875
29.2 ... Key/Value-Speicher ... 881
29.3 ... CloudKit-Grundlagen ... 888
29.4 ... CloudKit-Programmiertechniken ... 896
29.5 ... CloudKit-Beispiel ... 906
30. Asynchrone Programmierung ... 919
30.1 ... Hello Grand Central Dispatch! ... 920
30.2 ... GCD-Grundlagen ... 923
30.3 ... Parallel rechnen ... 928
30.4 ... Die Async-Bibliothek ... 935
31. App Store und Co. ... 937
31.1 ... iOS-Artwork (Icons, Launch Screen) ... 938
31.2 ... macOS-Artwork (Icon) ... 940
31.3 ... tvOS-Artwork (Parallax-Icons, Launch und Top Shelf Image) ... 941
31.4 ... Mehrsprachige Apps ... 947
31.5 ... Eigene Apps im App Store anbieten ... 956
31.6 ... macOS-Programme selbst weitergeben ... 964
32. Xcode-Arbeitstechniken ... 971
32.1 ... Simulator-Ausgaben stoppen ... 971
32.2 ... Header-Code einer eigenen Klasse erzeugen ... 972
32.3 ... Versionsverwaltung mit Git ... 973
32.4 ... Crashlogs ... 976
32.5 ... Refactoring ... 977
32.6 ... Projekte umbenennen ... 978
32.7 ... Xcode-Verzeichnisse aufräumen ... 979
32.8 ... Apple Configurator ... 982
33. Server-side Swift ... 985
33.1 ... Swift unter Linux ... 988
33.2 ... Vapor kennenlernen ... 995
33.3 ... Die Vapor-Toolbox ... 1004
33.4 ... Vapor-Grundlagen ... 1006
33.5 ... Datenbankanbindung mit Fluent ... 1017
33.6 ... Authentifizierung und Autorisierung ... 1028
33.7 ... Deployment ... 1036
TEIL IV Beispielprojekte ... 1041
34. New-York-Times-Bestseller ... 1043
34.1 ... New-York-Times-API ... 1045
34.2 ... Benutzeroberfläche ... 1048
34.3 ... Split-View-Variante ... 1053
35. To-do-Listen ... 1059
35.1 ... Gestaltung der Benutzeroberfläche ... 1060
35.2 ... Datenmodell ... 1061
35.3 ... View-Controller-Klasse ... 1062
35.4 ... Popup-View-Controller-Klasse ... 1069
35.5 ... iCloud-Variante ... 1070
36. Schatzsuche ... 1075
36.1 ... Aufbau der App ... 1075
36.2 ... Datenmodell ... 1080
36.3 ... Location Manager selbst gemacht ... 1082
36.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 1086
36.5 ... Hauptansicht mit Listenfeld ... 1087
36.6 ... Popup-Dialog zum Speichern ... 1092
36.7 ... Detailansicht mit Richtungspfeil ... 1093
37. Währungskalkulator ... 1101
37.1 ... App-Überblick ... 1101
37.2 ... Kurse ermitteln ... 1107
37.3 ... Das Datenmodell der App ... 1110
37.4 ... Umrechnungsansicht ... 1113
37.5 ... Einstellungsansicht ... 1119
37.6 ... Internationalisierung und Lokalisierung ... 1124
38. Fünf Gewinnt ... 1127
38.1 ... Die App »Fünf Gewinnt« ... 1127
38.2 ... Enumerationen und globale Funktionen (Globals.swift) ... 1130
38.3 ... Die Spiellogik (FiveWins.swift) ... 1134
38.4 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 1145
38.5 ... Steuerung des Spielablaufs (ViewController.swift) ... 1155
38.6 ... Der Popup-Dialog (PopupVC.swift) ... 1160
38.7 ... Erweiterungsmöglichkeiten ... 1162
39. Icon-Resizer ... 1165
39.1 ... App-Überblick ... 1165
39.2 ... Icons verwalten (IconSize-Struktur) ... 1171
39.3 ... Hauptfenster (ViewController.swift) ... 1177
39.4 ... Drag&Drop-Quelle für Icons (IconCellView.swift) ... 1185
39.5 ... Drag&Drop-Empfänger für Icons (OriginalIconView.swift) ... 1186
39.6 ... Popup-Menü (IconChoiceVC.swift) ... 1189
39.7 ... Temporäres Verzeichnis erstellen und löschen ... 1190
40. Breakout ... 1193
40.1 ... Programmaufbau ... 1194
40.2 ... Initialisierung ... 1195
40.3 ... Spielsteuerung ... 1202
41. Pac-Man selbst gemacht ... 1207
41.1 ... Programmaufbau ... 1208
41.2 ... Der Tile-Editor »Tiled« ... 1210
41.3 ... Globale Konstanten, Datenstrukturen und Enumerationen ... 1214
41.4 ... Initialisierung des Spiels ... 1216
41.5 ... Die Maze-Klasse ... 1220
41.6 ... Aufbau der Spielszene (setup-Methoden) ... 1224
41.7 ... Spielsteuerung (touch-Methoden) ... 1230
41.8 ... Bewegung des Pac-Mans ... 1235
41.9 ... Steuerung der Monster ... 1239
41.10 ... Kollisionen ... 1245
41.11 ... Apple-TV-Variante von Pac-Man ... 1249
41.12 ... Pac-Man-Figuren zeichnen ... 1252
42. Asteroids ... 1255
42.1 ... Programmaufbau ... 1256
42.2 ... Globale Konstanten und Funktionen ... 1258
42.3 ... Programmstart und Tastaturereignisse (GameViewController) ... 1258
42.4 ... Initialisierung des Spiels (GameScene) ... 1261
42.5 ... Spielablauf (ebenfalls in GameScene) ... 1267
42.6 ... Fokussierbare Menütexte (MyLabel) ... 1273
42.7 ... Der Einstellungsdialog (MainScene) ... 1274
Index ... 1281
8.5 ... Zeichenketten und Zahlen umwandeln ... 197
8.6 ... Zeichenketten und binäre Daten umwandeln (Data-Struktur) ... 201
9. Datum und Uhrzeit ... 203
9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 203
9.2 ... Rechnen mit Datum und Uhrzeit ... 205
10. Arrays, Dictionaries, Sets und Tupel ... 207
10.1 ... Arrays ... 207
10.2 ... Arrays und Aufzählungen verarbeiten ... 217
10.3 ... Dictionaries ... 226
10.4 ... Sets ... 230
10.5 ... Option-Sets ... 231
10.6 ... Tupel ... 233
10.7 ... Lottosimulator ... 235
11. Objektorientierte Programmierung I ... 241
11.1 ... Klassen und Strukturen ... 242
11.2 ... Enumerationen ... 250
11.3 ... Eigenschaften ... 254
11.4 ... Init- und Deinit-Funktion ... 266
11.5 ... Methoden ... 271
11.6 ... Subscripts ... 278
11.7 ... Typ-Aliasse ... 281
11.8 ... Speicherverwaltung ... 282
12. Objektorientierte Programmierung II ... 287
12.1 ... Vererbung ... 287
12.2 ... Generics ... 299
12.3 ... Protokolle ... 304
12.4 ... Standardprotokolle ... 314
12.5 ... Extensions ... 322
12.6 ... Protokollerweiterungen ... 328
12.7 ... Reflection und Metatypen ... 331
13. Fehlerabsicherung ... 337
13.1 ... Fehlerabsicherung mit try und catch ... 337
13.2 ... Selbst Fehler auslösen (throws und throw) ... 346
13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 350
13.4 ... Das Error-Protokoll ... 354
13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 355
14. Importe, Attribute und Systemfunktionen ... 359
14.1 ... Module, Frameworks und Importe ... 359
14.2 ... Attribute ... 363
14.3 ... Systemfunktionen aufrufen ... 365
TEIL II App-Programmierung ... 371
15. Hello iOS-World! ... 373
15.1 ... Projektstart ... 374
15.2 ... Gestaltung der App ... 375
15.3 ... Steuerung der App durch Code ... 380
15.4 ... Actions und Outlets für Fortgeschrittene ... 385
15.5 ... Layout optimieren ... 388
15.6 ... Textgröße mit einem Slider einstellen ... 395
15.7 ... Apps auf dem eigenen iPhone/iPad ausführen ... 398
15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 400
16. iOS-Grundlagen ... 403
16.1 ... Model-View-Controller (MVC) ... 403
16.2 ... Klassenhierarchie einer App-Ansicht ... 407
16.3 ... Die UIViewController-Klasse ... 409
16.4 ... Phasen einer iOS-App ... 414
16.5 ... Auto Layout ... 417
16.6 ... Layoutregeln durch Code definieren ... 433
16.7 ... Steuerelemente in einer Stack-View anordnen ... 435
16.8 ... Layoutvarianten ... 440
16.9 ... Texteingaben ... 448
16.10 ... Image-Views und Xcassets ... 455
17. iOS-Apps mit mehreren Ansichten ... 459
17.1 ... Storyboard und Controller-Klassen verbinden ... 459
17.2 ... Ansichten durch Segues verbinden ... 460
17.3 ... Segues mit Datenübertragung ... 465
17.4 ... Navigation-Controller ... 470
17.5 ... Tab-Bar-Controller ... 476
17.6 ... Split-View-Controller ... 482
17.7 ... Popups ... 493
17.8 ... Ja/Nein-Dialoge (UIAlertController) ... 503
18. Hello macOS-World! ... 507
18.1 ... Von iOS zu macOS ... 507
18.2 ... Lottozahlengenerator ... 509
19. macOS-Grundlagen ... 519
19.1 ... Programme mit mehreren Fenstern ... 519
19.2 ... Tab-View-Controller ... 526
19.3 ... Standarddialoge ... 533
19.4 ... Tastatur ... 538
19.5 ... Menüs ... 543
19.6 ... Programme ohne Menü ... 551
20. tvOS ... 555
20.1 ... Hello tvOS! ... 556
20.2 ... Fernbedienung auswerten ... 561
20.3 ... Focus Engine ... 567
TEIL III Programmier- und Arbeitstechniken ... 575
21. Dateien und User-Defaults ... 577
21.1 ... User-Defaults ... 577
21.2 ... Dateinamen und URLs ... 582
21.3 ... Bundle-Dateien und Assets ... 584
21.4 ... Standardverzeichnisse ... 586
21.5 ... Dateioperationen ... 590
21.6 ... Wie geht's weiter? ... 599
22. Netzwerk, XML und JSON ... 601
22.1 ... Dateien per HTTP/HTTPS laden ... 601
22.2 ... XML-Dokumente auswerten ... 610
22.3 ... JSON-Encoder und -Decoder ... 614
22.4 ... Webseiten anzeigen ... 621
23. Tabellen und Listen darstellen ... 629
23.1 ... Listen in iOS-Apps (UITableView) ... 629
23.2 ... Prototypzellen ... 635
23.3 ... Individuelle Gestaltung von Listenzellen ... 640
23.4 ... Veränderliche Listen ... 647
23.5 ... Tabellen in macOS-Apps (NSTableView) ... 650
23.6 ... Collections asynchron füllen (UICollectionView) ... 661
24. GPS- und Kompassfunktionen ... 671
24.1 ... Hello MapView! ... 671
24.2 ... Wegstrecke aufzeichnen ... 676
24.3 ... Kompassfunktionen ... 683
25. Grafik und Animation ... 687
25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 687
25.2 ... Kompass-Steuerelement ... 694
25.3 ... Core Graphics ... 702
25.4 ... Animationen ... 706
26. Touch, Maus, Gestures und Drag&Drop ... 711
26.1 ... Touch ... 711
26.2 ... Maus ... 718
26.3 ... Gestures ... 725
26.4 ... Drag&Drop (macOS) ... 728
26.5 ... Drag&Drop (iOS) ... 742
27. Audio, Video und Fotos ... 757
27.1 ... Audio-Wiedergabe mit dem AVAudioPlayer ... 757
27.2 ... Audio-Wiedergabe mit dem AVPlayer ... 768
27.3 ... Audio-Wiedergabe mit dem AVPlayerViewController ... 770
27.4 ... Audio-Aufnahmen mit dem AVAudioRecorder durchführen ... 772
27.5 ... Videos abspielen ... 777
27.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 781
27.7 ... YouTube-Videos abspielen ... 785
27.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 788
27.9 ... Fotos in einer AVCaptureSession aufnehmen ... 791
27.10 ... Barcodes in einer AVCaptureSession erkennen ... 799
28. SpriteKit ... 803
28.1 ... Hello SpriteKit! ... 804
28.2 ... Sprites erzeugen und bewegen ... 813
28.3 ... Spielsteuerung durch Touch-Ereignisse ... 819
28.4 ... Bewegungssteuerung (Gyroskop und Accelerometer) ... 825
28.5 ... Aktionen ... 832
28.6 ... Der Game-Loop ... 838
28.7 ... Kollisionserkennung ... 840
28.8 ... Minispiel: Luftballone abschießen ... 845
28.9 ... Physik ... 852
28.10 ... Minispiel: Pyramide zerstören ... 858
28.11 ... Scene-Editor ... 865
28.12 ... Partikel-Emitter ... 872
29. iCloud ... 875
29.1 ... iCloud-Grundlagen ... 875
29.2 ... Key/Value-Speicher ... 881
29.3 ... CloudKit-Grundlagen ... 888
29.4 ... CloudKit-Programmiertechniken ... 896
29.5 ... CloudKit-Beispiel ... 906
30. Asynchrone Programmierung ... 919
30.1 ... Hello Grand Central Dispatch! ... 920
30.2 ... GCD-Grundlagen ... 923
30.3 ... Parallel rechnen ... 928
30.4 ... Die Async-Bibliothek ... 935
31. App Store und Co. ... 937
31.1 ... iOS-Artwork (Icons, Launch Screen) ... 938
31.2 ... macOS-Artwork (Icon) ... 940
31.3 ... tvOS-Artwork (Parallax-Icons, Launch und Top Shelf Image) ... 941
31.4 ... Mehrsprachige Apps ... 947
31.5 ... Eigene Apps im App Store anbieten ... 956
31.6 ... macOS-Programme selbst weitergeben ... 964
32. Xcode-Arbeitstechniken ... 971
32.1 ... Simulator-Ausgaben stoppen ... 971
32.2 ... Header-Code einer eigenen Klasse erzeugen ... 972
32.3 ... Versionsverwaltung mit Git ... 973
32.4 ... Crashlogs ... 976
32.5 ... Refactoring ... 977
32.6 ... Projekte umbenennen ... 978
32.7 ... Xcode-Verzeichnisse aufräumen ... 979
32.8 ... Apple Configurator ... 982
33. Server-side Swift ... 985
33.1 ... Swift unter Linux ... 988
33.2 ... Vapor kennenlernen ... 995
33.3 ... Die Vapor-Toolbox ... 1004
33.4 ... Vapor-Grundlagen ... 1006
33.5 ... Datenbankanbindung mit Fluent ... 1017
33.6 ... Authentifizierung und Autorisierung ... 1028
33.7 ... Deployment ... 1036
TEIL IV Beispielprojekte ... 1041
34. New-York-Times-Bestseller ... 1043
34.1 ... New-York-Times-API ... 1045
34.2 ... Benutzeroberfläche ... 1048
34.3 ... Split-View-Variante ... 1053
35. To-do-Listen ... 1059
35.1 ... Gestaltung der Benutzeroberfläche ... 1060
35.2 ... Datenmodell ... 1061
35.3 ... View-Controller-Klasse ... 1062
35.4 ... Popup-View-Controller-Klasse ... 1069
35.5 ... iCloud-Variante ... 1070
36. Schatzsuche ... 1075
36.1 ... Aufbau der App ... 1075
36.2 ... Datenmodell ... 1080
36.3 ... Location Manager selbst gemacht ... 1082
36.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 1086
36.5 ... Hauptansicht mit Listenfeld ... 1087
36.6 ... Popup-Dialog zum Speichern ... 1092
36.7 ... Detailansicht mit Richtungspfeil ... 1093
37. Währungskalkulator ... 1101
37.1 ... App-Überblick ... 1101
37.2 ... Kurse ermitteln ... 1107
37.3 ... Das Datenmodell der App ... 1110
37.4 ... Umrechnungsansicht ... 1113
37.5 ... Einstellungsansicht ... 1119
37.6 ... Internationalisierung und Lokalisierung ... 1124
38. Fünf Gewinnt ... 1127
38.1 ... Die App »Fünf Gewinnt« ... 1127
38.2 ... Enumerationen und globale Funktionen (Globals.swift) ... 1130
38.3 ... Die Spiellogik (FiveWins.swift) ... 1134
38.4 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 1145
38.5 ... Steuerung des Spielablaufs (ViewController.swift) ... 1155
38.6 ... Der Popup-Dialog (PopupVC.swift) ... 1160
38.7 ... Erweiterungsmöglichkeiten ... 1162
39. Icon-Resizer ... 1165
39.1 ... App-Überblick ... 1165
39.2 ... Icons verwalten (IconSize-Struktur) ... 1171
39.3 ... Hauptfenster (ViewController.swift) ... 1177
39.4 ... Drag&Drop-Quelle für Icons (IconCellView.swift) ... 1185
39.5 ... Drag&Drop-Empfänger für Icons (OriginalIconView.swift) ... 1186
39.6 ... Popup-Menü (IconChoiceVC.swift) ... 1189
39.7 ... Temporäres Verzeichnis erstellen und löschen ... 1190
40. Breakout ... 1193
40.1 ... Programmaufbau ... 1194
40.2 ... Initialisierung ... 1195
40.3 ... Spielsteuerung ... 1202
41. Pac-Man selbst gemacht ... 1207
41.1 ... Programmaufbau ... 1208
41.2 ... Der Tile-Editor »Tiled« ... 1210
41.3 ... Globale Konstanten, Datenstrukturen und Enumerationen ... 1214
41.4 ... Initialisierung des Spiels ... 1216
41.5 ... Die Maze-Klasse ... 1220
41.6 ... Aufbau der Spielszene (setup-Methoden) ... 1224
41.7 ... Spielsteuerung (touch-Methoden) ... 1230
41.8 ... Bewegung des Pac-Mans ... 1235
41.9 ... Steuerung der Monster ... 1239
41.10 ... Kollisionen ... 1245
41.11 ... Apple-TV-Variante von Pac-Man ... 1249
41.12 ... Pac-Man-Figuren zeichnen ... 1252
42. Asteroids ... 1255
42.1 ... Programmaufbau ... 1256
42.2 ... Globale Konstanten und Funktionen ... 1258
42.3 ... Programmstart und Tastaturereignisse (GameViewController) ... 1258
42.4 ... Initialisierung des Spiels (GameScene) ... 1261
42.5 ... Spielablauf (ebenfalls in GameScene) ... 1267
42.6 ... Fokussierbare Menütexte (MyLabel) ... 1273
42.7 ... Der Einstellungsdialog (MainScene) ... 1274
Index ... 1281
... weniger
Bibliographische Angaben
- Autor: Michael Kofler
- 2017, 1304 Seiten, Maße: 19,5 x 24,6 cm, Gebunden, Deutsch
- Verlag: Rheinwerk Verlag
- ISBN-10: 3836259206
- ISBN-13: 9783836259200
Rezension zu „Swift 4 “
"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 201805
Kommentar zu "Swift 4"
0 Gebrauchte Artikel zu „Swift 4“
Zustand | Preis | Porto | Zahlung | Verkäufer | Rating |
---|
Schreiben Sie einen Kommentar zu "Swift 4".
Kommentar verfassen