Swift 2
- Titel erscheint in neuer Auflage
- Artikel merken
Viele kleine Beispiele illustrieren, wozu bestimmte Sprachmerkmale dienen und wie man sie zweckmäßig einsetzt.
Beispielorientierte Kapitel zeigen Ihnen zudem schrittweise den Umgang mit Cocoa. Anschaulich lernen Sie mit Hilfe zahlreiche Projekter für iOS und auch OS X Swift direkt in der praktischen Anwendung kennen. Ideal auch für Umsteiger von Objective-C oder Java.
Aus dem Inhalt:
Swift
Kennenlernen, Playground
Operatoren
Eigene Operatoren definieren
Variablenverwaltung
Optionals
Zeichenketten, Datum und Uhrzeit
Arrays, Dictioniaries, Sets, OptionSets und Tupel
Interna (Typen-Aliase und Datentypen, weak und unowned, Casting)
Verzweigungen und Schleifen
Funktionen und Closures
Objektorientierte Programmierung
Klassen, Strukturen und Enumerationen
Eigenschaften und Methoden
Init-Funktionen, Subscripts
Vererbung, Protokolle und Extensions
Fehler und Exceptions, catch/try
Attribute
Xcode
Crashkurs
Maus- und Tastenkürzel
Git-Einführung
Arbeiten mit Storyboards
Bild-Management in Images.xcassets
Schemata verwenden (Release-Kompilat, Schemata für verschiedene Sprachen)
Arbeiten mit Storyboards
Hilfsmittel zur Einstellung von Auto-Layout-Regeln
Preview-Ansicht und iOS-Simulator
Distribution Provisioning Profile
App-Upload
iOS-Programmierung
Hello World!
Actions und Outlets
Model View Controller (MVC)
UI-Klassenhierarchie
Phasen einer iOS-App, AppDelegate-Klasse
Auto Layout
Stack-View
Daten persistent speichern, User-Defaults
Text- und XML-Dateien lesen/speichern
Mehrsprachige Apps
Segues
Popups (Popovers)
Navigation- und Tab-Bar-Controller
GPS- und Kompassfunktionen
MapKit und MapView
Eigene Steuerelemente inkl. IBDesignable und IBInspectable
Grafikprogrammierung, UIBezierPath
UIAlertController
UITableView-Steuerelement
UIPickerView-Steuerelement
Notification Manager
Internationalisierung und Lokalisierung
App im App Store einreichen
OS-X-Programmierung
Storyboard versus XIB
Window- und View-Controller
Tab-View-Controller
Programmeinstellungsdialog (User-Defaults)
Segues
Standarddialoge (Datei-, Verzeichnis-, Farb- und Schriftauswahl)
Tastatur und Maus
Drag&Drop
Menüs, Popup-Menüs
Programme ohne Menü (Menubar-Apps)
Bindings
NSTableView-Steuerelement
NSSplitView-Steuerelement
Bitmaps skalieren und speichern
Temporäre Verzeichnisse
OS-X-Programme signieren und als DMG-Image weitergeben
Größere Beispiele (neben unzähligen kleinen Beispielprogrammen)
iOS: Wegstrecke aufzeichnen
iOS: Kompass-Steuerelement
iOS: To-do-App
iOS: Schatzsuche
iOS: Währungsumrechner (Details, kostenlos im App Store verfübar)
iOS: Strategiespiel »5 Gewinnt«
OS X: Lottozahlengenerator
OS X: Icon-Resizer
Galileo Press heißt jetzt Rheinwerk Verlag.
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 Linux auch OS X, 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 ... 25
TEIL I Swift ... 27
1. Hello World! ... 29
1.1 ... »Hello World« im Playground ... 30
1.2 ... »Hello World« als Terminal-App ... 37
1.3 ... Swift-Crashkurs ... 45
1.4 ... Xcode-Crashkurs ... 56
2. Operatoren ... 69
2.1 ... Zuweisungs- und Rechenoperatoren ... 69
2.2 ... Vergleichsoperatoren und logische Operatoren ... 74
2.3 ... Range-Operatoren ... 78
2.4 ... Operatoren für Fortgeschrittene ... 80
2.5 ... Operator Overloading ... 83
3. Variablenverwaltung und Datentypen ... 85
3.1 ... Variablen und Konstanten ... 85
3.2 ... Zahlen und boolesche Werte ... 91
3.3 ... Zeichenketten ... 94
3.4 ... Datum und Uhrzeit ... 115
3.5 ... Optionals ... 117
3.6 ... Interna der Variablenverwaltung ... 122
4. Arrays, Dictionaries, Sets und Tupel ... 133
4.1 ... Arrays ... 133
4.2 ... Dictionaries ... 143
4.3 ... Sets ... 145
4.4 ... Option-Sets (OptionSetType) ... 146
4.5 ... Tupel ... 149
5. Verzweigungen und Schleifen ... 153
5.1 ... Verzweigungen mit if ... 153
5.2 ... Verzweigungen mit switch ... 158
5.3 ... Schleifen ... 162
5.4 ... Lottosimulator ... 166
6. Funktionen und Closures ... 173
6.1 ... Funktionen definieren und ausführen ... 173
6.2 ... Parameter ... 182
6.3 ... Standardfunktionen ... 189
6.4 ... Standardmethoden und Standardeigenschaften ... 193
6.5 ... Funktionale Programmierung ... 201
6.6 ... Closures ... 206
7. Objektorientierte Programmierung I ... 217
7.1 ... Klassen und Strukturen ... 218
7.2 ... Enumerationen ... 225
7.3 ... Eigenschaften ... 230
7.4 ... Init- und DeInit-Funktion ... 241
7.5 ... Methoden ... 246
7.6 ... Subscripts ... 255
8. Objektorientierte Programmierung II ... 259
8.1 ... Vererbung ... 259
8.2 ... Generics ... 270
8.3 ... Protokolle ... 274
8.4 ... Standardprotokolle ... 283
8.5 ... Extensions ... 291
8.6 ... Protokollerweiterungen ... 296
8.7 ... Metatypen ... 301
8.8 ... Header-Code einer eigenen Bibliothek erzeugen ... 302
9. Fehlerabsicherung und Spezialfunktionen ... 305
9.1 ... Fehlerabsicherung (try/catch) ... 305
9.2 ... Fehlerabsicherung von API-Methoden (NSError) ... 318
9.3 ... Module, Frameworks und Importe ... 320
9.4 ... Attribute ... 322
9.5 ... Systemfunktionen aufrufen ... 323
TEIL II iOS ... 325
10. Hello iOS-World! ... 327
10.1 ... Projektstart ... 328
10.2 ... Gestaltung der App ... 329
10.3 ... Steuerung der App durch Code ... 334
10.4 ... Actions und Outlets für Fortgeschrittene ... 339
10.5 ... Layout optimieren ... 341
10.6 ... Textgröße mit einem Slider einstellen ... 346
10.7 ... Apps auf dem eigenen iPhone/iPad ausführen ... 348
10.8 ... Komponenten und Dateien eines Xcode-Projekts ... 350
11. iOS-Grundlagen ... 353
11.1 ... Model-View-Controller (MVC) ... 353
11.2 ... Klassenhierarchie einer App-Ansicht ... 357
11.3 ... Die UIViewController-Klasse ... 361
11.4 ... Phasen einer iOS-App ... 365
11.5 ... Auto Layout ... 368
11.6 ... Steuerelemente in einer Stack-View anordnen ... 386
11.7 ... Daten persistent speichern ... 390
11.8 ... Mehrsprachige Apps ... 398
11.9 ... iOS-Crashlogs ... 407
12. Apps mit mehreren Ansichten ... 409
12.1 ... Storyboard und Controller-Klassen verbinden ... 409
12.2 ... Ansichten durch Segues verbinden ... 411
12.3 ... Segues mit Datenübertragung ... 415
12.4 ... Tastatureingaben mit Delegation verarbeiten ... 420
12.5 ... Navigation-Controller ... 422
12.6 ... Tab-Bar-Controller ... 426
12.7 ... Bild-Management in Images.xcasset ... 432
13. GPS- und Kompassfunktionen ... 435
13.1 ... Hello MapView! ... 435
13.2 ... Wegstrecke aufzeichnen ... 440
13.3 ... Kompassfunktionen ... 447
13.4 ... Eigene Steuerelemente mit Grafikfunktionen ... 449
14. To-do-Listen ... 461
14.1 ... Popups ... 461
14.2 ... Ja-Nein-Dialoge (UIAlertController) ... 470
14.3 ... Listen (UITableView) ... 472
14.4 ... Individuelle Gestaltung der Listenelemente (UITableViewCell) ... 481
14.5 ... Veränderliche Listen ... 487
14.6 ... To-do-App ... 489
15. Schatzsuche ... 501
15.1 ... Aufbau der App ... 501
15.2 ... Datenmodell ... 505
15.3 ... Location Manager selbst gemacht ... 509
15.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 513
15.5 ... Hauptansicht mit Listenfeld ... 514
15.6 ... Popup-Dialog zum Speichern ... 519
15.7 ... Detailansicht mit Richtungspfeil ... 520
16. Währungskalkulator ... 527
16.1 ... App-Überblick ... 527
16.2 ... XML-Dokumente lesen ... 535
16.3 ... Das Datenmodell der App ... 540
16.4 ... Umrechnungsansicht ... 543
16.5 ... Einstellungsansicht ... 550
16.6 ... Startansicht (Launch Screen) ... 555
16.7 ... App-Icon ... 556
16.8 ... Internationalisierung und Lokalisierung ... 557
16.9 ... App im App Store einreichen ... 558
17. Fünf Gewinnt ... 569
17.1 ... Einfache Animationen ... 569
17.2 ... Die App »5 Gewinnt« ... 574
17.3 ... Enumerationen und globale Funktionen (Globals.swift) ... 577
17.4 ... Die Spiellogik (FiveWins.swift) ... 582
17.5 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 593
17.6 ... Steuerung des Spielablaufs (ViewController.swift) ... 603
17.7 ... Der Popup-Dialog (PopupVC.swift) ... 609
17.8 ... Erweiterungsmöglichkeiten ... 611
TEIL III OS X ... 615
18. Hello OS-X-World! ... 617
18.1 ... Von iOS zu OS X ... 617
18.2 ... Lottozahlengenerator (Storyboard-Variante) ... 620
18.3 ... Lottozahlengenerator (XIB/AppDelegate-Variante) ... 630
18.4 ... Lottozahlengenerator (XIB/WindowController-Variante) ... 635
18.5 ... Lottozahlengenerator (XIB/ViewController-Variante) ... 639
19. OS-X-Grundlagen ... 643
19.1 ... Programme mit mehreren Fenstern ... 643
19.2 ... Tab-View-Controller ... 651
19.3 ... Standarddialoge ... 660
19.4 ... Maus ... 664
19.5 ... Tastatur ... 672
19.6 ... Menüs ... 678
19.7 ... Programme ohne Menü ... 686
19.8 ... Bindings ... 689
20. Icon-Resizer ... 693
20.1 ... Tabellen (NSTableView) ... 693
20.2 ... Drag & Drop ... 704
20.3 ... Icon-Resizer ... 717
20.4 ... Arbeiten mit Bitmaps (IconSize-Struktur) ... 722
20.5 ... Hauptfenster (ViewController.swift) ... 728
20.6 ... Drag & Drop-Quelle für Icons (IconCellView.swift) ... 735
20.7 ... Drag & Drop-Empfänger für Icons (OriginalIconView.swift) ... 736
20.8 ... Popup-Menü (IconChoiceVC.swift) ... 739
20.9 ... Temporäres Verzeichnis erstellen und löschen (AppDelegate.swift) ... 740
20.10 ... OS-X-Programme weitergeben ... 742
Index ... 747
Erscheint lt. Verlag | 28.9.2015 |
---|---|
Reihe/Serie | Rheinwerk Computing |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 1515 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Schlagworte | App-Entwicklung • Apple • Apple TV; Spezielle Anwendungsbereiche • Apps • apps entwickeln • Apps programmieren • Buch • CoCoA • Handbuch • Ios • iOS Apps • iOS; Spezielle Anwendungsbereiche • MacOS X; Spezielle Anwendungsbereiche • Objective-C • Objektorientierte Programmierung • OS X • Swift Apps • Swift programmieren • Swift (Programmiersprache); Einführung • Swift (Programmiersprache); Handbuch/Lehrbuch |
ISBN-10 | 3-8362-3651-6 / 3836236516 |
ISBN-13 | 978-3-8362-3651-5 / 9783836236515 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich