Cover image for Objective C kurz & gut

Book description

Knapp, übersichtlich und gut: Wer einen kompakten Überblick über die Strukturen und Syntaxelemente von Objective-C sucht, findet in dieser Kurzreferenz alle Features der Sprache zum schnellen Nachschlagen. Das Bändchen eignet sich für alle Programmierer, die bereits mit anderen Sprachen wie C, Java oder C# vertraut sind und jetzt für den Mac, das iPhone oder das iPad programmieren möchten: Ihnen vermittelt das Buch die Sprachgrundlagen, erläutert ausführlich die Features der NSObject-Schnittstelle und gibt einen knappen Überblick über Compiler und Runtimes. Das Buch bietet darüber hinaus eine komplette alphabetische Referenz der NSObject-Methoden und der @-Direktiven. Dieser Referenzabschnitt ist auch für all diejenigen Programmierer nützlich, die bereits Kenntnisse in Objective-C mitbringen.

Table of Contents

  1. no. Einführung
    1. Objective-C
    2. Werkzeuge und Plattformen
    3. Die Beispiele
  2. 2. Grundlagen
    1. Ein erstes Beispiel
    2. Code schreiben und kompilieren
      1. Xcode
      2. Kommandozeilenkompilation
    3. Headerdateien
      1. Header importieren
    4. Frameworks
  3. 3. Syntax
    1. Klassen und Objekte
    2. Nachrichten
    3. Compilerdirektiven
    4. Literaldeklarationen
      1. Stringliterale
      2. Array-Literale
      3. Dictionary-Literale
      4. Literale für Zahlobjekte
      5. Wrapper-Ausdrücke
    5. Blocks
    6. Ein zweites Beispiel
  4. 4. Objekte
    1. Objektvariablen und Zeiger
      1. Dynamisch typisierte Variablen: der Typ id
      2. Statisch typisierte Variablen
    2. Objekte erstellen
    3. Mit Objekten interagieren
    4. Objekte vergleichen
    5. Objekt-Enumeration
    6. Objektindizierung
  5. 5. Klassen
    1. Klassendeklaration und -definition
      1. Schnittstellendeklaration
      2. Klassenimplementierung
    2. Felder
      1. Felder deklarieren
      2. Felder referenzieren
      3. Statische Felder
    3. Methoden
      1. Methoden deklarieren
        1. Methoden mit einem Parameter
        2. Methoden mit mehreren Parametern
      2. Methodenimplementierung
      3. self
      4. Methoden aufrufen
      5. Varargs-Methoden
    4. Eigenschaften
      1. Eigenschaften deklarieren
      2. Synthetisierung deklarierter Eigenschaften
        1. Automatische Synthetisierung
        2. Explizite Synthetisierung
      3. Deklarierte Eigenschaften implementieren
      4. @dynamic
      5. Eigenschaftszugriff
      6. Eigenschaftsattribute
        1. Setter- und Getter-Namen definieren
        2. Zugriffsteuerung
        3. Setter-Operation
        4. Atomarität
    5. Vererbung und Polymorphie
      1. Vererbung
      2. Eigenschaften und Verhalten überschreiben
      3. super
      4. Polymorphie
    6. Typumwandlungen
  6. 6. Kategorien und Klassenerweiterungen
    1. Klassenerweiterungen
  7. 7. Protokolle
    1. Ein Protokoll deklarieren
      1. Protokollhierarchien
      2. Vorwärtsdeklaration
    2. Protokolle implementieren
    3. Optionale Methoden aufrufen
    4. Protokolle als Referenztypen
    5. Informelle Protokolle
  8. 8. Fehler und Ausnahmen
    1. Fehler
      1. Ein Beispiel
    2. NSError-Referenz
    3. Ausnahmen
      1. Ein Beispiel
      2. Handler für nicht abgefangene Exceptions
    4. NSException-Referenz
  9. 9. NSObject
    1. NSObject-Klasse
  10. 10. Objektlebenszyklus
    1. Objekte erstellen
      1. Allozierung
      2. Objektinitialisierung
      3. Designierte Initialisierer
      4. Initialisierer und Fehler
      5. Klasseninitialisierung
    2. Objekte kopieren
      1. Kopiermethoden implementieren
      2. Tiefe und flache Kopien
    3. Objektvernichtung
  11. 11. Speicherverwaltung
    1. Was Speicherverwaltung ist
    2. Speicherverwaltungstechnologien unter Objective-C
    3. ARC (Automatic Reference Counting)
      1. Starke und schwache Referenzen
      2. Eigenschaftsattribute
      3. Qualifizierer für Variablen
      4. Auto-Release-Blöcke
      5. Neue Regeln
    4. MRC (Manuel Reference Counting)
      1. Speicherverwaltungsnachrichten
        1. Das Objekt Freigeben
        2.  
      2. Auto-Release-Pools
  12. 12. Laufzeitinformationen
    1. Objektinformationen
    2. Klasseninformationen
      1. Klassenobjekte
      2. Metaklassen
      3. Klassennamen
      4. Klassenabhängige Verhalten
      5. Klassenobjekte erkennen
    3. Funktionsinformationen
    4. Protokollinformationen
  13. 13. Messaging
    1. Kompilierung
    2. Selektoren
    3. Implementierungen
    4. Selektoren dynamisch ausführen
      1. -performSelector:
      2. NSInvocation
      3. objc_msgSend()
    5. Implementierungen cachen
    6. Dynamische Methodenimplementierung
    7. Nachrichtenweiterleitung
      1. -forwardingTargetForSelector:
      2. -forwardInvocation:
  14. 14. Key/ Value-Coding
    1. KVC-Konformität
    2. Schlüsselbasierte Interaktion mit Objekten
    3. Schlüsselpfade
    4. Virtuelle Schlüssel
    5. KVC-Validierung
    6. Schlüsselpfadoperatoren
  15. 15. Objektarchivierung
    1. Sequenzielle und schlüsselbasierte Archive
    2. Die NSCoding-Methoden implementieren
      1. Schlüsselbasierte Archivierung
      2. Sequenzielle Archivierung
      3. Den Coder prüfen
    3. Coder-Objekte
      1. Einige Beispiele
  16. 16. Blocks
    1. Blocks definieren
    2. Blocks als Objekte
    3. Zugriff auf den Kontext
      1. Zugriff auf Objektzustände
      2. Zirkuläre Referenzen auf self
    4. Lokale Variablen
      1. Blockvariablen
    5. Globale und kontextgebundene Blocks
      1. Blocks kopieren
  17. 17. NSObject-Referenz
  18. 18. Compilerdirektiven
  19. 19. Alternative Plattformen
    1. Compiler
      1. GCC
    2. Clang/LLVM
    3. Laufzeitumgebungen und Plattformen
      1. GNU-Runtime
      2. GNUStep-Runtime
      3. Cocotron
      4. ObjFW
  20. 20. Clang-Optionen
  21. Stichwortverzeichnis
  22. Copyright