49,90 €*
Versandkostenfrei per Post / DHL
auf Lager, Lieferzeit 1-2 Werktage
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
arbeitet als Lehrbeauftragter.
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 ......
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 |
arbeitet als Lehrbeauftragter.
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 ......
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 |