- Titel erscheint in neuer Auflage
- Artikel merken
- Syntax, Grundlagen, Programmiertechniken, App-Entwicklung
- Objekt- und protokollorientierte Anwendungsentwicklung
- Mit vielen Beispiel-Apps für iOS, macOS und tvOS
Michael Kofler präsentiert Ihnen alle Merkmale und Besonderheiten von Swift und führt Sie zugleich in die Syntax und in die objektorientierte Programmierung ein. 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.
Der perfekte Start in Apples Programmiersprache Swift!
Erlernen Sie die Grundlagen von Swift
Von der einfachen for-Schleife bis zum Einsatz von Closures: Dieses Buch präsentiert Ihnen alle Sprachelemente von Swift und erläutert deren Einsatz. Mithilfe von objektorientierter und funktionaler Programmierung lernen Sie ansprechende Apps zu entwickeln.
So programmieren Sie moderne Anwendungen
Mit Swift-Wissen allein können Sie 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 für iOS, macOS und tvOS
Damit Sie das vielschichtige Zusammenspiel aus Swift, Xcode und UIKit bzw. Cocoa verstehen, werden vollständige Apps entwickelt. Neben vielen Mini-Beispielen zeigt Ihnen Michael Kofler anhand von neun größeren Projekten alle Funktionen direkt in der Praxis.
Themen sind insbesondere:
Klassen, Protokolle, Extensions
Closures
Umgang mit Fehlern
Crashkurs Xcode
Storyboards
Internationalisierung
iOS / tvOS / macOS
Actions, Outlets, Segues
Popovers, Focus Engine
Artwork
Programmiertechniken
Tabellen und Listen
Grafik, Dateien, XML, JSON
Audio, Video, Fotots
Spritekit
ansprechende Beispiel-Apps
Galileo Press heißt jetzt Rheinwerk Verlag.
Die Fachpresse zur Vorauflage:
iX - Magazin für professionelle Informationstechnik: »Es hält was es verspricht!«
SCREENGUIDE: »Ein praxisnaher Einstieg.«
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, OS X, 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.
Vorwort ... 15
TEIL I Swift ... 21
1. Hello World! ... 23
1.1 ... »Hello World« im Playground ... 23
1.2 ... »Hello World« als Terminal-App ... 32
1.3 ... »Hello World!« auf dem iPad ... 40
2. Swift-Crashkurs ... 43
2.1 ... Elementare Syntaxregeln und Kommentare ... 43
2.2 ... Variablen, Konstanten und Datentypen ... 47
2.3 ... Strukturierung des Codes ... 51
2.4 ... Klassen und Datenstrukturen ... 56
2.5 ... Fehlerabsicherung ... 58
2.6 ... Xcode-Crashkurs ... 59
3. Operatoren ... 71
3.1 ... Zuweisungs- und Rechenoperatoren ... 71
3.2 ... Vergleichsoperatoren und logische Operatoren ... 76
3.3 ... Range-Operatoren ... 81
3.4 ... Operatoren für Fortgeschrittene ... 82
3.5 ... Eigene Operatoren ... 86
4. Variablen und Optionals ... 91
4.1 ... Variablen und Konstanten ... 91
4.2 ... Optionals ... 98
4.3 ... Wert- versus Referenztypen ... 103
5. Verzweigungen und Schleifen ... 107
5.1 ... Verzweigungen mit if ... 107
5.2 ... Inverse Logik mit guard ... 111
5.3 ... Verzweigungen mit switch ... 112
5.4 ... Versions- oder plattformabhängiger Code ... 116
5.5 ... Schleifen ... 117
5.6 ... Nicht triviale Schleifen ... 122
6. Funktionen und Closures ... 129
6.1 ... Funktionen definieren und ausführen ... 129
6.2 ... Parameter ... 140
6.3 ... Standardfunktionen ... 147
6.4 ... Funktionale Programmierung ... 151
6.5 ... Closures ... 156
7. Zahlen und geometrische Strukturen ... 167
7.1 ... Zahlen und boolesche Werte ... 168
7.2 ... NSNumber ... 172
7.3 ... CGFloat, CGPoint, CGSize und Co. ... 173
8. Zeichenketten ... 181
8.1 ... Syntax ... 181
8.2 ... Bearbeitung von Zeichenketten ... 185
8.3 ... Suchen und ersetzen ... 189
8.4 ... Zeichenketten zerlegen und zusammensetzen ... 192
8.5 ... Zeichenketten und Zahlen umwandeln ... 198
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 ... 216
10.3 ... Dictionaries ... 225
10.4 ... Sets ... 226
10.5 ... Option-Sets ... 227
10.6 ... Tupel ... 229
10.7 ... Lottosimulator ... 231
11. Objektorientierte Programmierung I ... 237
11.1 ... Klassen und Strukturen ... 238
11.2 ... Enumerationen ... 247
11.3 ... Eigenschaften ... 251
11.4 ... Init- und Deinit-Funktion ... 263
11.5 ... Methoden ... 268
11.6 ... Subscripts ... 276
11.7 ... Typ-Aliasse ... 278
11.8 ... Speicherverwaltung ... 279
12. Objektorientierte Programmierung II ... 285
12.1 ... Vererbung ... 285
12.2 ... Generics ... 297
12.3 ... Protokolle ... 301
12.4 ... Standardprotokolle ... 310
12.5 ... Extensions ... 318
12.6 ... Protokollerweiterungen ... 323
12.7 ... Reflection und Metatypen ... 328
13. Fehlerabsicherung ... 333
13.1 ... Fehlerabsicherung mit try und catch ... 333
13.2 ... Selbst Fehler auslösen (throws und throw) ... 342
13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 346
13.4 ... Das Error-Protokoll ... 350
13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 351
14. Importe, Attribute und Systemfunktionen ... 355
14.1 ... Module, Frameworks und Importe ... 355
14.2 ... Attribute ... 359
14.3 ... Systemfunktionen aufrufen ... 361
TEIL II App-Programmierung ... 367
15. Hello iOS-World! ... 369
15.1 ... Projektstart ... 370
15.2 ... Gestaltung der App ... 371
15.3 ... Steuerung der App durch Code ... 376
15.4 ... Actions und Outlets für Fortgeschrittene ... 381
15.5 ... Layout optimieren ... 383
15.6 ... Textgröße mit einem Slider einstellen ... 390
15.7 ... Apps auf dem eigenen iPhone/iPad ausführen ... 392
15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 394
16. iOS-Grundlagen ... 397
16.1 ... Model-View-Controller (MVC) ... 397
16.2 ... Klassenhierarchie einer App-Ansicht ... 402
16.3 ... Die UIViewController-Klasse ... 405
16.4 ... Phasen einer iOS-App ... 409
16.5 ... Auto Layout ... 412
16.6 ... Steuerelemente in einer Stack-View anordnen ... 429
16.7 ... Texteingaben ... 432
16.8 ... Image-Views und Xcassets ... 441
17. iOS-Apps mit mehreren Ansichten ... 445
17.1 ... Storyboard und Controller-Klassen verbinden ... 445
17.2 ... Ansichten durch Segues verbinden ... 446
17.3 ... Segues mit Datenübertragung ... 451
17.4 ... Navigation-Controller ... 456
17.5 ... Tab-Bar-Controller ... 461
17.6 ... Split-View-Controller ... 468
17.7 ... Popups ... 478
17.8 ... Ja-Nein-Dialoge (UIAlertController) ... 489
18. Hello macOS-World! ... 493
18.1 ... Von iOS zu macOS ... 493
18.2 ... Lottozahlengenerator (Storyboard-Variante) ... 496
18.3 ... Lottozahlengenerator (XIB/AppDelegate-Variante) ... 505
18.4 ... Lottozahlengenerator (XIB/WindowController-Variante) ... 511
18.5 ... Lottozahlengenerator (XIB/ViewController-Variante) ... 515
19. macOS-Grundlagen ... 519
19.1 ... Programme mit mehreren Fenstern ... 519
19.2 ... Tab-View-Controller ... 527
19.3 ... Standarddialoge ... 535
19.4 ... Maus ... 539
19.5 ... Tastatur ... 547
19.6 ... Menüs ... 553
19.7 ... Programme ohne Menü ... 561
19.8 ... Drag&Drop ... 564
20. tvOS ... 579
20.1 ... Hello tvOS! ... 580
20.2 ... Fernbedienung auswerten ... 586
20.3 ... Focus Engine ... 592
TEIL III Programmier- und Arbeitstechniken ... 601
21. Dateien und User-Defaults ... 603
21.1 ... User-Defaults ... 603
21.2 ... Dateinamen und URLs ... 608
21.3 ... Bundle-Dateien und Xcassets-Bilder ... 610
21.4 ... Standardverzeichnisse ... 612
21.5 ... Dateioperationen ... 617
21.6 ... Wie geht's weiter? ... 625
22. Netzwerk, XML und JSON ... 627
22.1 ... Dateien per HTTP/HTTPS laden ... 627
22.2 ... XML-Dokumente auswerten ... 636
22.3 ... JSON-Dokumente auswerten ... 640
22.4 ... Webseiten anzeigen ... 644
23. Tabellen und Listen darstellen ... 651
23.1 ... Listen in iOS-Apps (UITableView) ... 651
23.2 ... Prototypzellen ... 657
23.3 ... Individuelle Gestaltung von Listenzellen ... 663
23.4 ... Veränderliche Listen ... 669
23.5 ... Tabellen in macOS-Apps (NSTableView) ... 671
23.6 ... Collections asynchron füllen (UICollectionView) ... 682
24. GPS- und Kompassfunktionen ... 691
24.1 ... Hello MapView! ... 691
24.2 ... Wegstrecke aufzeichnen ... 696
24.3 ... Kompassfunktionen ... 703
25. Grafik und Animation ... 707
25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 708
25.2 ... Kompass-Steuerelement ... 714
25.3 ... Core Graphics ... 723
25.4 ... Animationen ... 725
26. Audio, Video und Fotos ... 731
26.1 ... Audio-Wiedergabe mit dem AVAudioPlayer ... 731
26.2 ... Audio-Wiedergabe mit dem AVPlayer ... 740
26.3 ... Audio-Wiedergabe mit dem AVPlayerViewController ... 742
26.4 ... Audio-Aufnahmen mit dem AVAudioRecorder durchführen ... 744
26.5 ... Videos abspielen ... 749
26.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 753
26.7 ... YouTube-Videos abspielen ... 758
26.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 761
26.9 ... Fotos in einer AVCaptureSession aufnehmen ... 763
26.10 ... Barcodes in einer AVCaptureSession erkennen ... 772
27. SpriteKit ... 777
27.1 ... Hello SpriteKit! ... 778
27.2 ... Sprites erzeugen und bewegen ... 786
27.3 ... Spielsteuerung durch Touch-Ereignisse ... 792
27.4 ... Bewegungssteuerung (Gyroskop und Accelerometer) ... 798
27.5 ... Aktionen ... 804
27.6 ... Der Game-Loop ... 811
27.7 ... Kollisionserkennung ... 813
27.8 ... Minispiel: Luftballone abschießen ... 819
27.9 ... Physik ... 826
27.10 ... Minispiel: Pyramide zerstören ... 832
27.11 ... Scene-Editor ... 838
27.12 ... Partikel-Emitter ... 845
28. Asynchrone Programmierung ... 849
28.1 ... Hello Grand Central Dispatch! ... 850
28.2 ... GCD-Grundlagen ... 853
28.3 ... Parallel rechnen ... 858
28.4 ... Die Async-Bibliothek ... 865
29. App Store und Co. ... 867
29.1 ... iOS-Artwork (Icons, Launch Screen) ... 868
29.2 ... macOS-Artwork (Icon) ... 869
29.3 ... tvOS-Artwork (Parallax-Icons, Launch und Top Shelf Image) ... 870
29.4 ... Mehrsprachige Apps ... 877
29.5 ... Eigene Apps im App Store anbieten ... 886
29.6 ... macOS-Programme selbst weitergeben ... 895
30. Xcode-Arbeitstechniken ... 901
30.1 ... Simulator-Ausgaben stoppen ... 901
30.2 ... Header-Code einer eigenen Klasse erzeugen ... 902
30.3 ... Versionsverwaltung mit Git ... 903
30.4 ... Crashlogs ... 906
30.5 ... Projekte umbenennen ... 906
30.6 ... Xcode-Verzeichnisse aufräumen ... 907
TEIL IV Beispielprojekte ... 911
31. New-York-Times-Bestseller ... 913
31.1 ... New-York-Times-API ... 915
31.2 ... Benutzeroberfläche ... 918
31.3 ... Split-View-Variante ... 924
32. To-do-Listen ... 929
32.1 ... Gestaltung der Benutzeroberfläche ... 930
32.2 ... Datenmodell ... 931
32.3 ... View-Controller-Klasse ... 932
32.4 ... Popup-View-Controller-Klasse ... 939
33. Schatzsuche ... 941
33.1 ... Aufbau der App ... 941
33.2 ... Datenmodell ... 946
33.3 ... Location Manager selbst gemacht ... 948
33.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 953
33.5 ... Hauptansicht mit Listenfeld ... 954
33.6 ... Popup-Dialog zum Speichern ... 959
33.7 ... Detailansicht mit Richtungspfeil ... 960
34. Währungskalkulator ... 969
34.1 ... App-Überblick ... 969
34.2 ... Kurse ermitteln ... 977
34.3 ... Das Datenmodell der App ... 980
34.4 ... Umrechnungsansicht ... 983
34.5 ... Einstellungsansicht ... 990
34.6 ... Internationalisierung und Lokalisierung ... 995
35. Fünf Gewinnt ... 997
35.1 ... Die App »Fünf Gewinnt« ... 997
35.2 ... Enumerationen und globale Funktionen (Globals.swift) ... 1000
35.3 ... Die Spiellogik (FiveWins.swift) ... 1004
35.4 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 1015
35.5 ... Steuerung des Spielablaufs (ViewController.swift) ... 1025
35.6 ... Der Popup-Dialog (PopupVC.swift) ... 1031
35.7 ... Erweiterungsmöglichkeiten ... 1033
36. Icon-Resizer ... 1037
36.1 ... App-Überblick ... 1037
36.2 ... Icons verwalten (IconSize-Struktur) ... 1042
36.3 ... Hauptfenster (ViewController.swift) ... 1049
36.4 ... Drag&Drop-Quelle für Icons (IconCellView.swift) ... 1057
36.5 ... Drag&Drop-Empfänger für Icons (OriginalIconView.swift) ... 1058
36.6 ... Popup-Menü (IconChoiceVC.swift) ... 1061
36.7 ... Temporäres Verzeichnis erstellen und löschen ... 1062
37. Breakout ... 1065
37.1 ... Programmaufbau ... 1066
37.2 ... Initialisierung ... 1067
37.3 ... Spielsteuerung ... 1073
38. Pac-Man selbst gemacht ... 1077
38.1 ... Programmaufbau ... 1078
38.2 ... Der Tile-Editor »Tiled« ... 1080
38.3 ... Globale Konstanten, Datenstrukturen und Enumerationen ... 1085
38.4 ... Initialisierung des Spiels ... 1087
38.5 ... Die Maze-Klasse ... 1090
38.6 ... Aufbau der Spielszene (setup-Methoden) ... 1094
38.7 ... Spielsteuerung (touch-Methoden) ... 1101
38.8 ... Bewegung des Pac-Mans ... 1106
38.9 ... Steuerung der Monster ... 1110
38.10 ... Kollisionen ... 1116
38.11 ... Apple-TV-Variante von Pac-Man ... 1120
38.12 ... Pac-Man-Figuren zeichnen ... 1124
39. Asteroids ... 1127
39.1 ... Programmaufbau ... 1128
39.2 ... Globale Konstanten und Funktionen ... 1130
39.3 ... Programmstart und Tastaturereignisse (GameViewController) ... 1130
39.4 ... Initialisierung des Spiels (GameScene) ... 1134
39.5 ... Spielablauf (ebenfalls in GameScene) ... 1140
39.6 ... Fokussierbare Menütexte (MyLabel) ... 1146
39.7 ... Der Einstellungsdialog (MainScene) ... 1147
Index ... 1153
Erscheinungsdatum | 29.11.2016 |
---|---|
Reihe/Serie | Rheinwerk Computing |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 2006 g |
Einbandart | gebunden |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Mac / Cocoa Programmierung |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
Schlagworte | App • App-Entwicklung • Apple • Apple TV • Apple TV; Spezielle Anwendungsbereiche • Apps • apps entwickeln • Apps programmieren • CoCoA • Entwicklung Apple • Handbuch • Ios • iOS; Spezielle Anwendungsbereiche • iPad • iPhone • MacOS • MacOS X; Spezielle Anwendungsbereiche • SWIFT • Swift entwickeln • Swift programmieren • Swift (Programmiersprache); Handbuch/Lehrbuch |
ISBN-10 | 3-8362-4127-7 / 3836241277 |
ISBN-13 | 978-3-8362-4127-4 / 9783836241274 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich