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

Durchstarten mit Swift

Book Description

Möchten Sie die neue Programmiersprache Swift lernen oder von Objective-C wechseln? Bauen Sie Ihre Apps am liebsten mit der neuesten Technologie und den modernsten Standards? Dann ist "Durchstarten mit Swift" das richtige Buch für Sie. "Durchstarten mit Swift" richtet sich an Umsteiger und Wiedereinsteiger, die bereits Erfahrungen mit der Softwareentwicklung haben, aber auch Einsteiger haben mit diesem Buch die Möglichkeit, eine Programmiersprache mit modernsten Sprachelemente zu lernen und anzuwenden.

Table of Contents

  1. Vorwort
    1. Ein Buch?
    2. Zielgruppe
    3. Beispiele und Fehler
    4. Videotutorials
    5. Struktur dieses Buches
    6. Typografische Konventionen
    7. Danksagungen
  2. 1. Einführung
    1. Swift
    2. Objective-C ohne C?
    3. Vorteile von Swift
    4. Die Plattform kennenlernen
      1. iOS
  3. 2. Xcode und Co.
    1. Installation von Xcode
    2. Die wichtigsten Einstellungen
    3. Eine Übersicht
      1. A – Das Navigationsfenster
        1. 1. Projekt-Navigator
        2. 2. Symbol-Navigator
        3. 3. Such-Navigator
        4. 4. Fehler-Navigator
        5. 5. Test-Navigator
        6. 6. Debug-Navigator
        7. 7. Breakpoint-Navigator
        8. 8. Report-Navigator
      2. B – Der Editor
      3. C – Der Debugging-Objektbaum
      4. D – Die Debugging-Konsole
      5. E – Das Utility-Fenster
      6. F – Die Toolbar
    4. Shortcuts, die das Leben erleichtern
    5. Der Editor
    6. Navigationsmöglichkeiten
    7. Hilfe!
  4. 3. Die ersten Schritte
    1. Einen Playground erstellen
      1. Das Playground-Fenster
        1. Hello World!
    2. Variablen und Konstanten
      1. Variablen
      2. Konstanten
    3. Benennung
    4. Kommentare
      1. Basics
    5. Zahlen und Zeichenketten ausgeben
      1. Strings ausgeben
      2. Zahlen ausgeben
      3. Strings formatieren
  5. 4. Kontrollstrukturen und Schleifen
    1. Wahrheitswerte, Bool
    2. if-else
      1. if
      2. else
      3. else if
      4. Strings vergleichen
      5. Ungleich-Operatoren
    3. switch
      1. falltrough
      2. Ranges
      3. Tuples
    4. Schleifen
    5. for-Schleife
      1. for-condition-increment-Schleife
      2. break
      3. continue
    6. for-in-Schleife
    7. while-Schleife
    8. do-while-Schleife
    9. Sprunganweisungen
    10. Logische Operatoren
      1. Die Und-Verknüpfung
      2. Die Oder-Verknüpfung
      3. Der Not-Operator
      4. Logische Operatoren kombinieren
  6. 5. Hello World
    1. Ein iOS-Projekt erstellen
    2. Die ersten UI-Elemente hinzufügen
    3. Der erste Start im Simulator
    4. Outlets und Actions hinzufügen
    5. Ein bisschen Code muss sein
  7. 6. Datentypen und Funktionen
    1. Datentypen
    2. Zahlen
      1. Integer
      2. Double und Float
      3. Rechnen mit Zahlen
    3. Funktionen
      1. Begriffserklärung
      2. Aufbau einer Funktion
      3. Die erste eigene Funktion
      4. Funktionen mit Parametern
        1. Mehrere Parameter
      5. Rückgabewerte
      6. Benannte Parameter
      7. Optionale Parameter
      8. Konstante und variable Parameter
      9. In-Out-Parameter
      10. Tuples
      11. Multiple Rückgabewerte mit Tuples
      12. Variadic – variable Parameteranzahl
    4. Type Aliases
  8. 7. Enumerationen und Strukturen
    1. Aufzählungen
      1. Verknüpfte Werte
      2. Raw Values
    2. Strukturen
      1. Deklaration einer Struktur
      2. Instanziieren und Methoden aufrufen
        1. Kopierverhalten und Übergabe von Strukturen
        2. Aufruf mit benannten Parametern
      3. Statische Variablen und Methoden
      4. Konstruktoren
      5. Getter und Setter
      6. Mutating Methods
      7. Property Observers
  9. 8. Klassen und Objekte
    1. Wichtige Unterschiede und Gemeinsamkeiten
    2. Deklaration und Instanziierung
    3. Methoden
    4. Statische Variablen und Methoden
    5. Konstruktoren
    6. Failable-Konstruktoren
    7. Destruktoren
    8. Properties
    9. Lazy Properties
    10. Vererbung
      1. Was ist Vererbung?
      2. Syntax für die Vererbung
      3. Methoden und Properties überschreiben
      4. Konstruktoren in abgeleiteten Klassen
        1. Regeln für Konstruktoren abgeleiteter Klassen
    11. Zugangskontrolle
      1. Syntax
      2. Tuples
      3. Funktionen
      4. Enumeratoren
      5. Zugangslevel bei abgeleiteten Klassen
      6. Konstanten, Variablen, Properties und Subscripts
      7. Getters und Setters
      8. Konstruktoren
      9. Besonderheiten
      10. Zugangslevel für andere Sprachelemente
  10. 9. Container, Mutability und weitere Sprachelemente
    1. Arrays
      1. Arrays initialisieren
      2. Zugriff auf Elemente
      3. Elemente verändern
    2. Dictionaries
      1. Objekte hinzufügen, ändern und entfernen
    3. Funktionen als Datentyp
    4. Funktionen als Rückgabewert
    5. Nested Functions
    6. Type Casting
      1. Datentyp überprüfen
      2. Downcasting
      3. AnyObject und Any
    7. Subscripts
    8. Optionals
      1. Unwrapping
      2. Optional Chaining
        1. Zugriff auf Properties mit Optional Chaining
        2. Zugriff auf Methoden mit Optional Chaining
  11. 10. Protokolle und Extensions
    1. Protokolle
    2. Methoden
    3. Properties
    4. Mutating
    5. Konstruktoren
    6. Delegation
      1. Deklaration und Verwendung
    7. Vererbung von Protokollen
    8. Protokolle mit Extensions adaptieren
    9. Protokolle und Container
    10. Mehrere Protokolle adaptieren
    11. Optionale Methoden und Properties
      1. Konformität von Klassen prüfen
    12. Extensions
      1. Konstruktoren hinzufügen
      2. Methoden hinzufügen
      3. Computed Properties definieren
      4. Protokolle
    13. Operatoren überladen
  12. 11. Generische und funktionale Entwicklung
    1. Closures
      1. AutoClosure
      2. Funktionale Programmierung
      3. Currying
      4. map, reduce, filter
    2. Verzögerte Berechnungen
    3. Such- und Sortierfunktionen
    4. Generics
  13. 12. Von der Idee zur ersten App
    1. Überlegungen und Ideen
      1. Erwartungen
      2. Technologische Überlegungen
    2. Projekt anlegen
    3. Mit Core Data Daten strukturieren
      1. Entitäten und Relations
        1. Entität erstellen
        2. Relationship erstellen
        3. Swift-Klassen generieren
    4. UI vorbereiten
      1. Laufübersichtzelle erstellen
      2. Laufdetails-View-Controller vorbereiten
      3. Stoppuhr-Screen
        1. Einen Hinzufügen-Button im Master View Controller erstellen
      4. Segues erstellen
    5. Quellcode aufräumen
    6. Den Fetched Results Controller anpassen
      1. Wie funktioniert ein Table View?
      2. Wozu dient ein Fetched Result Controller?
    7. Den Fetch-Request anpassen
      1. MOC übergeben und Core Data Framework einbinden
    8. Die Run-Entität erstellen und speichern
    9. Timer erstellen und Zeit formatieren
  14. 13. Die App um GPS erweitern
    1. GPS-Koordinaten integrieren
      1. GPS-Koordinaten persistieren
      2. Location Manager stoppen
    2. Letzte Formatierungen des RunTimer View Controllers
      1. Den Back-Button ausblenden
    3. Die letzte Anpassung des RunTimer- und Master View Controllers
    4. Das MapKit Framework einbinden
      1. Formatierung der Labels
      2. Overlays im MapKit realisieren
      3. Koordinatenpaare erzeugen und Pins platzieren
      4. MapKit-Delegation und Linien einzeichnen
      5. Navigation korrigieren
      6. Positionen im Simulator simulieren
    5. Lust auf mehr?
    6. Abschließendes
  15. 14. Wie geht es weiter?
    1. iOS- und OS X-Programmierung
    2. Abschließendes
  16. A. Über die Autoren
    1. Stefan Popp
    2. Ralf Peters
  17. Stichwortverzeichnis
  18. Kolophon
  19. Copyright