O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

iOS-Apps programmieren mit Swift

Book Description

  • Problemloser Einstieg in App-Entwicklung+ Basiert auf Swift 2 und xCode 7 (aktuell!)

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Inhaltsübersicht
  6. 1 Einleitung
    1. 1.1 iPhone, iPad & Co.
    2. 1.2 Für wen ist dieses Buch gedacht?
    3. 1.3 Benötigte Hard- und Software
      1. 1.3.1 Welcher Mac genügt?
      2. 1.3.2 Welche OS-X-Version?
    4. 1.4 Xcode und das iOS-SDK
      1. 1.4.1 Download und Installation von Xcode
      2. 1.4.2 Xcode im Detail
      3. 1.4.3 Projektübersicht
      4. 1.4.4 Quellcodefenster
      5. 1.4.5 Interface Builder
      6. 1.4.6 Object Library & Co
      7. 1.4.7 Inspektoren
    5. 1.5 Vorlagen in Xcode
      1. 1.5.1 Schnellstart: Hallo Playground
      2. 1.5.2 Die Projektvorlagen von Xcode für iOS-Apps
      3. 1.5.3 Schnellstart: Die Master-Detail-Application-Vorlage
      4. 1.5.4 Schnellstart: Die Page-Based-Application-Vorlage
      5. 1.5.5 Schnellstart: Die Single-View-Application-Vorlage
      6. 1.5.6 Schnellstart: Die Tabbed-Application-Vorlage
      7. 1.5.7 Bestandteile eines Projekts
    6. 1.6 Apps ausführen
      1. 1.6.1 App im Simulator
      2. 1.6.2 Die App auf dem iOS-Gerät
      3. 1.6.3 Der iOS-Simulator im Detail
    7. 1.7 Mehrere Xcode-Versionen parallel verwenden
      1. 1.7.1 Ältere Versionen von Xcode finden
      2. 1.7.2 Weitere Xcode-Versionen installieren
    8. 1.8 Das Apple Developer Program – Anlaufstelle für Entwickler
      1. 1.8.1 Von Zertifikaten, Profilen und Identitäten
      2. 1.8.2 App auf ein angeschlossenes iOS-Gerät übertragen
  7. 2 Schnellstart mit Swift
    1. 2.1 Das Projekt anlegen
    2. 2.2 Die Oberfläche mit dem Interface Builder bauen
    3. 2.3 Controls und Ereignisse
    4. 2.4 Mit Swift zum Ergebnis
  8. 3 Einstieg in Swift
    1. 3.1 Variablen, Konstanten und Zuweisungen
      1. 3.1.1 Zuweisungsoperator
      2. 3.1.2 Konstanten
    2. 3.2 Datentypen
      1. 3.2.1 Strings
      2. 3.2.2 Ganze Zahlen und Fließkommazahlen
      3. 3.2.3 Wahrheitswerte
      4. 3.2.4 Aufzählungen (Enumerationen)
      5. 3.2.5 Felder (Arrays)
      6. 3.2.6 Dictionarys
      7. 3.2.7 NS-Datentypen
      8. 3.2.8 NSNumber
      9. 3.2.9 NSString
      10. 3.2.10 NSDate
      11. 3.2.11 NSRange
      12. 3.2.12 NSTimeInterval
      13. 3.2.13 NSArray/NSMutableArray
      14. 3.2.14 NSDictionary und NSMutableDictionary
    3. 3.3 Operatoren
      1. 3.3.1 Boolesche Operatoren
    4. 3.4 Arithmetische Operatoren
    5. 3.5 Kontrollstrukturen
      1. 3.5.1 Die Fallunterscheidung (if)
      2. 3.5.2 Mehrfachauswahl
    6. 3.6 Schleifen
      1. 3.6.1 Kopfgesteuerte Schleifen (while-Schleife)
      2. 3.6.2 Fußgesteuerte Schleifen (repeat...while-Schleife)
      3. 3.6.3 Zählschleifen (for-Schleife)
    7. 3.7 Funktionen
      1. 3.7.1 Funktionen – Parameter übergeben
      2. 3.7.2 Funktionen – Werte zurückgeben
      3. 3.7.3 Funktionen – Mehrere Werte zurückgeben (Tupel)
      4. 3.7.4 Funktionen – Externe Parameternamen
      5. 3.7.5 Funktionen – Parameter vorbelegen
      6. 3.7.6 Funktionen – Weitere Parametertypen
      7. 3.7.7 Verschachtelte Funktionen
      8. 3.7.8 Closures
      9. 3.7.9 Optionals
    8. 3.8 Strukturen Teil 1 (Structs)
  9. 4 Objektorientierte Programmierung mit Swift
    1. 4.1 Grundlagen der OOP
      1. 4.1.1 Strukturen aus objektorientierter Sicht (Strukturen Teil 2)
      2. 4.1.2 Was sind Objekte?
      3. 4.1.3 Was sind Klassen?
      4. 4.1.4 Public, Private und wer noch?
    2. 4.2 Eigenschaften (Properties)
    3. 4.3 Methoden
      1. 4.3.1 Instanzmethoden (Instance Methods)
      2. 4.3.2 Klassenmethoden (Type Methods)
      3. 4.3.3 Der Initialisierer (Konstruktor)
      4. 4.3.4 Der Deinitialisierer (Dekonstruktor)
    4. 4.4 Vererbung
      1. 4.4.1 Erben (Ableitung) von Klassen
      2. 4.4.2 Zugriff auf Elemente der vererbenden Klasse
      3. 4.4.3 Initializer delegation
      4. 4.4.4 Überschreiben von Methoden
      5. 4.4.5 Überschreiben von Eigenschaften
      6. 4.4.6 Das Überschreiben von Elementen verhindern
    5. 4.5 Schnittstellen
      1. 4.5.1 Was sind Protokolle?
      2. 4.5.2 Ableitung von Protokollen
    6. 4.6 Erweiterung von Typen (Klassen, Strukturen und Enumerationen)
      1. 4.6.1 Subscripts
      2. 4.6.2 Verschachtelte Typen (Nested Types)
      3. 4.6.3 Erweiterungen (Extensions)
      4. 4.6.4 Optional Chaining
    7. 4.7 Typumwandlung (is & as) und (Any & AnyObject)
    8. 4.8 Generics
    9. 4.9 Speicherverwaltung (Automatic Reference Counting)
  10. 5 Grundlagen der App-Entwicklung
    1. 5.1 Storyboard und Interface Builder
      1. 5.1.1 App im Storyboard
    2. 5.2 Bausteine einer iOS-App
      1. 5.2.1 View, ViewController und wer noch?
      2. 5.2.2 View-Ereignisse und View-Lebenszyklus
      3. 5.2.3 Outlets und Actions
      4. 5.2.4 MVC – Model View Controller
      5. 5.2.5 Controls
      6. 5.2.6 UIAlertController
    3. 5.3 Delegate
    4. 5.4 Gestenverarbeitung (Touch Events)
    5. 5.5 AutoLayout
    6. 5.6 Workshop – Passwortverwaltung – Teil 1
      1. 5.6.1 Planung der App
      2. 5.6.2 Umsetzung des Projekts – Teil 1
  11. 6 Fehlersuche und Problembehandlung
    1. 6.1 Breakpoints im Quellcode setzen
    2. 6.2 Inspizieren von Variablen
    3. 6.3 View Debugging
    4. 6.4 Fehlerbehandlung mit »try catch«, (NS)Error & Co
    5. 6.5 Fehlerbehandlung bei knappem Speicher
    6. 6.6 Vorausetzungen prüfen, Fehler vermeiden
  12. 7 Tabellen und Controller
    1. 7.1 Schnellstart: App mit Master-Detail-Application-Vorlage
      1. 7.1.1 Datenquelle für Master-Detail hinzufügen
      2. 7.1.2 Das Projekt testen
    2. 7.2 UITableView und Controller
    3. 7.3 UITableViewCell
    4. 7.4 CustomCell
    5. 7.5 NavigationBar anpassen
    6. 7.6 Workshop – Passwortverwaltung – Teil 2
  13. 8 Core Data
    1. 8.1 Was ist Core Data?
    2. 8.2 Ein neues Projekt mit Core Data
    3. 8.3 Ein Modell für die Speicherung
    4. 8.4 Core-Data-Klassen verwenden
    5. 8.5 Workshop – Passwortverwaltung – Teil 3
  14. 9 Internet und Netzwerke
    1. 9.1 Das UIWebView
    2. 9.2 Wetter mit JSON
      1. 9.2.1 Mit der App zum (aktuellen) Wetter
    3. 9.3 Dateiaustausch mit AirDrop
    4. 9.4 Daten in der iCloud
  15. 10 Sensoren
    1. 10.1 Kamera
    2. 10.2 Mikrofon
    3. 10.3 Beschleunigungssensor
    4. 10.4 Positionsdienste
    5. 10.5 Workshop – Passwortverwaltung – Teil 4
  16. 11 iOS Maps
    1. 11.1 Das MapKit-Framework
    2. 11.2 Das MapView-Control
    3. 11.3 Markierung mit Annotation
    4. 11.4 Markierung auf der Karte anzeigen
    5. 11.5 Icon ändern
  17. 12 Lokalisierung
    1. 12.1 Statische Texte in der GUI
    2. 12.2 Eine Sprache hinzufügen
    3. 12.3 Lokalisierung von Bildern
    4. 12.4 Dynamische Texte
    5. 12.5 Lokalisierung des App-Namens
    6. 12.6 Workshop – Passwortverwaltung – Teil 5
  18. 13 Universal Apps
    1. 13.1 Universal Apps
    2. 13.2 Ein Projekt als Universal App anlegen
    3. 13.3 Bilder in der App
    4. 13.4 Portrait oder Landscape?
    5. 13.5 iPad oder iPhone?
    6. 13.6 Icons und Launch Images
    7. 13.7 Workshop – Passwortverwaltung – Teil 6
  19. 14 App Extensions
    1. 14.1 Widgets und iOS
    2. 14.2 Ein Projekt für Widgets
    3. 14.3 Today Extension anlegen
    4. 14.4 Code und GUI des Widgets entwerfen
    5. 14.5 Test des Widgets
  20. 15 WatchKit
    1. 15.1 Apple und die Watch
    2. 15.2 Zweiteilung
    3. 15.3 Das Projekt im Projekt
    4. 15.4 Das WatchKit-Projekt
    5. 15.5 GUI für die Watch-App
    6. 15.6 Der Code im anderen Abschnitt
    7. 15.7 Wie kommt die App auf die Watch?
  21. 16 Apps verteilen
    1. 16.1 Der Distributionsprozess
    2. 16.2 iTunes Connect verwenden
      1. 16.2.1 Meine Apps (App registrieren)
    3. 16.3 Apps verteilen
      1. 16.3.1 App Store
      2. 16.3.2 Ad Hoc Deployment
      3. 16.3.3 Enterprise Deployment
      4. 16.3.4 Bereitstellung einer App zur Verteilung
  22. Nachwort
  23. Index