Book description
Mit dem Apple Framework Cocoa können mächtige und gleichzeitig ausgesprochen ansprechende Applikationen für die Mac OS X-Plattform, für das iPhone und für das iPad erstellt werden.
Mit Cocoa-Programmierung lernt der Leser den cleveren Einsatz des Apple-Entwicklungswerkzeuges, um eigene Interfaces zu erstellen, den Code zu schreiben und das passende Datenmodell dafür zu entwerfen.
Das Buch führt den Leser auch in das Objective-C 2.0-Konzept ein und erläutert, wie es mit der Cococa-Entwicklung zusammenhängt.
Table of contents
- Cocoa-Programmierung: Der schnelle Einstieg für Entwickler
- 1. Einführung
-
2. Vorhandenes nutzen
- 2.1 Ein Projekt in Xcode anlegen
- 2.2 Das Aussehen mit dem Interface Builder entwickeln
- 2.3 Das Interface mit dem Cocoa Simulator testen
- 2.4 Das Interface fertigstellen
- 2.5 Die Komponenten verknüpfen
- 2.6 Den Build korrigieren
- 2.7 Ihren Browser weitergeben
- 2.8 Übung: Und jetzt das Ganze noch mal von vorne
- 2.9 Die .nib-Datei
- 3. Methoden und Parameter
-
4. Klassen und Objekte
- 4.1 „Hallo, Welt!“
- 4.2 Logging von Ausgaben an die Konsole
- 4.3 Eine vorhandene Klasse nutzen
- 4.4 Code refaktorieren
- 4.5 Eine neue Klasse erzeugen
- 4.6 Eine Klassenmethode erzeugen und nutzen
- 4.7 Ein neues Objekt erzeugen
- 4.8 Nochmalige Refaktorierung
- 4.9 Objekte initialisieren
- 4.10 Logging von Objekten
- 4.11 Übung: Zusätzliche Initialisierung
- 4.12 Lösung: Zusätzliche Initialisierung
- 5. Instanzvariablen und Eigenschaften
-
6. Speicher
- 6.1 Reference Counting
- 6.2 Lecks mit dem Clang Static Analyzer aufspüren
- 6.3 Das Speicherleck unter Mac OS X beheben
- 6.4 Eigenschaften und Garbage Collection
- 6.5 Eine Taschenlampe entwickeln
- 6.6 Lecks mit Instruments aufspüren
- 6.7 Das Speicherleck auf dem iPhone beheben
- 6.8 Zombies nutzen
- 6.9 Aufräumen in dealloc
- 6.10 Retain und Release in einem Setter
- 6.11 Der Autorelease-Pool
- 6.12 Bequemlichkeitskonstruktoren verwenden
- 6.13 Übung: Erzeugen und Nutzen eines Bequemlichkeitskonstruktors
- 6.14 Lösung: Erzeugen und Nutzen eines Bequemlichkeitskonstruktors
-
7. Outlets und Aktionen
- 7.1 Das große Ganze
- 7.2 Ein Outlet benutzen
- 7.3 Übung: Ein Outlet erzeugen und benutzen
- 7.4 Lösung: Ein Outlet erzeugen und benutzen
- 7.5 Eine Aktion deklarieren
- 7.6 Die Aktion verknüpfen und implementieren
- 7.7 Übung: Den Button verstecken
- 7.8 Lösung: Den Button verstecken
- 7.9 Übung: Das Interface umschalten
- 7.10 Lösung: Das Interface umschalten
- 7.11 Ein weiteres Outlet hinzufügen
- 7.12 Selektoren aus Strings erzeugen
-
8. Einen Controller entwickeln
- 8.1 Wie wir Objekte erzeugt haben
- 8.2 Eine Controller-Klasse entwickeln
- 8.3 Eine Instanz unseres Controllers in IB erzeugen
- 8.4 Ein Outlet und eine Aktion deklarieren
- 8.5 Vorwärtsdeklaration
- 8.6 Den Controller verknüpfen
- 8.7 Das Laden der vorigen Seite implementieren
- 8.8 Übung: Den Controller fertigstellen
- 8.9 Lösung: Den Controller fertigstellen
- 8.10 awakeFromNib
- 8.11 Die Buttons aktivieren und deaktivieren
- 8.12 Korrekturen nötig
-
9. Anpassungen mit Delegates
- 9.1 Delegates verstehen
- 9.2 Das Standardverhalten eines Fensters
- 9.3 Ein roter Hintergrund
- 9.4 Übung: Grüner Hintergrund
- 9.5 Lösung: Grüner Hintergrund
- 9.6 Application-Delegate
- 9.7 Delegates für ihren Web-View
- 9.8 Den Titel des Fensters setzen
- 9.9 Übung: URL aktualisieren und Buttons setzen
- 9.10 Lösung: URL aktualisieren und Buttons setzen
- 9.11 Aufräumen
- 9.12 Übung: Eine Fortschrittsanzeige einbinden
- 9.13 Lösung: Eine Fortschrittsanzeige einbinden
-
10. Unseren Browser für das iPhone anpassen
- 10.1 Das iPhone-Projekt anlegen
- 10.2 Das Aussehen unseres Browsers entwickeln
- 10.3 Einschränkungen des WebView
- 10.4 Eine Webseite beim Start laden
- 10.5 Das Textfeld im IB einstellen
- 10.6 Den Textfeld-Delegate nutzen
- 10.7 Ein dritter Delegate zur Implementierung der Buttons
- 10.8 Übung: Eine Aktivitätsanzeige einfügen
- 10.9 Lösung: Eine Aktivitätsanzeige einfügen
- 10.10 Organisation mit Pragma Marks
-
11. Notifikationen absetzen und abfangen
- 11.1 Übung: Ein Modell aufbauen
- 11.2 Lösung: Ein Modell aufbauen
- 11.3 Für Notifikationen registrieren
- 11.4 Auf Workspace-Aktivitäten reagieren
- 11.5 Am Controller festhalten
- 11.6 Übung: Für Notifikationen registrieren
- 11.7 Lösung: Für Notifikationen registrieren
- 11.8 Notifikationen absetzen
- 11.9 Übung: Eigene Notifikationen empfangen
- 11.10 Lösung: Eigene Notifikationen empfangen
-
12. Protokolle für die Delegation entwickeln
- 12.1 Übung: Den Delegate erzeugen und festlegen
- 12.2 Lösung: Den Delegate erzeugen und festlegen
- 12.3 Ein Protokoll entwickeln und benutzen
- 12.4 Methoden verlangen
- 12.5 RespondsToSelector
- 12.6 Übung: Delegate-Methoden aufrufen
- 12.7 Lösung: Delegate-Methoden aufrufen
- 12.8 Übung: Aufräumen
- 12.9 Lösung: Aufräumen
-
13. Mit Dictionaries arbeiten
- 13.1 Ein Blick auf userinfo
- 13.2 Aus einem Dictionary lesen
- 13.3 Übung: Den Namen ausgeben
- 13.4 Lösung: Den Namen ausgeben
- 13.5 Die Redundanz reduzieren
- 13.6 Ein Dictionary zur Flusskontrolle nutzen
- 13.7 Einträge mit einem mutablen Dictionary einfügen und entfernen
- 13.8 Übung: Ein Icon hinzufügen
- 13.9 Ein Icon hinzufügen
-
14. Mehrere Nibs
- 14.1 Methoden, Objekte und Nibs
- 14.2 Nibs aufteilen
- 14.3 Die Ausgliederung des Views vorbereiten
- 14.4 Das View-Nib anlegen
- 14.5 Eine .nib-Datei integrieren
- 14.6 Der File’s Owner
- 14.7 Übung: Den View laden
- 14.8 Lösung: Den View laden
- 14.9 Das Window-Nib anlegen
- 14.10 Das Window-Nib laden
- 14.11 Das Fenster präsentieren
- 14.12 Übung: View und Modell verknüpfen
- 14.13 Lösung: View und Modell verknüpfen
- 15. Eigene Views entwickeln
-
16. Daten in einer Tabelle darstellen
- 16.1 Tabellen und Datenquellen
- 16.2 Übung: Eine einfache Datenquelle implementieren
- 16.3 Lösung: Eine einfache Datenquelle implementieren
- 16.4 Übung: Eine Datenquelle einführen
- 16.5 Lösung: Eine Datenquelle einführen
- 16.6 Zellen basierend auf Spaltenüberschriften füllen
- 16.7 Spaltenbezeichner als Schlüssel
- 16.8 Ausblick auf bevorstehende Knüller
- 16.9 Übung: Zeilen einfügen und löschen
- 16.10 Lösung: Zeilen einfügen und löschen
- 16.11 Zeilen manuell entfernen
-
17. Daten auf Festplatte speichern
- 17.1 Während der laufenden Anwendung speichern
- 17.2 Wo man Support-Dateien ablegt
- 17.3 Speichern in einer Plist
- 17.4 Eine Plist einlesen
- 17.5 Ein Archiv auf Festplatte speichern
- 17.6 Einstellungen lesen und verwenden
- 17.7 Die „Werkseinstellungen“ festlegen
- 17.8 Das Setzen der Benutzereinstellungen vorbereiten
- 17.9 Das Nib für das Einstellungsfenster
- 17.10 Das Einstellungsfenster aktivieren
-
18. Views wechseln
- 18.1 Mit Radiobuttons arbeiten
- 18.2 Einstellungen für den Start-View einfügen
- 18.3 Übung: Den richtigen View laden
- 18.4 Übung: Den richtigen View laden
- 18.5 „Magic Numbers“ eliminieren
- 18.6 Die Menüleiste anpassen
- 18.7 Das Hauptfenster verschieben
- 18.8 Übung: Views wechseln (weitgehend)
- 18.9 Lösung: Views wechseln (weitgehend)
- 18.10 Lazy Initialization
-
19. Key Value Coding
- 19.1 Objekte wie Dictionaries behandeln
- 19.2 Variablen mit KVC abrufen
- 19.3 Undefinierte Schlüssel
- 19.4 Übung: Variablen setzen per KVC
- 19.5 Lösung: Variablen setzen per KVC
- 19.6 KVC und Dictionaries
- 19.7 Schlüsselpfade für die Navigation in einer Klassenhierarchie
- 19.8 Übung: Tabellen füllen mit KVC
- 19.9 Lösung: Tabellen füllen mit KVC
- 19.10 Arrays und KVC
-
20. Key Value Observing
- 20.1 Codefreie Verbindungen
- 20.2 Ein Target/Action-Zähler
- 20.3 Einen Observer einführen
- 20.4 Als Observer registrieren
- 20.5 Änderungen observierbar machen
- 20.6 Die Änderungen überwachen
- 20.7 Übung: Einen zweiten Observer einfügen
- 20.8 Lösung: Einen zweiten Observer einfügen
- 20.9 Die unschöne Lösung
- 20.10 Methoden wählen mit KVC
- 20.11 Ein Observer-Objekt implementieren
- 20.12 Abhängige Variablen aktualisieren
-
21. Cocoa-Bindungen
- 21.1 Modell und View für unseren Zähler mit Bindungen
- 21.2 Den NSObjectController aufbauen und verknüpfen
- 21.3 Weitere Objekte binden
- 21.4 Zahlenformatierer
- 21.5 Übung: Zwei Zähler mit Bindungen verknüpfen
- 21.6 Lösung: Zwei Zähler mit Bindungen verknüpfen
- 21.7 Das Modell unseres Bücherregal-Beispiels
- 21.8 Den View für unser Bücherregal entwickeln
- 21.9 Bindung mit dem NSArrayController
- 21.10 Das große Finale
-
22. Core Data
- 22.1 Entitäten und Attribute
- 22.2 Das Core Data-Widget nutzen
- 22.3 Der Managed Object-Kontext
- 22.4 Die Persistenzschicht
- 22.5 Relationen
- 22.6 Die Löschregel einer Relation wählen
- 22.7 Den View aktualisieren
- 22.8 Abhängigkeiten verwalten
- 22.9 Übung: Autoren hinzufügen und löschen
- 22.10 Sortieren
- 22.11 Elemente filtern
- 22.12 Den Sortierdeskriptor programmieren
-
23. Kategorien
- 23.1 Beschränkungen überwinden
- 23.2 Eine Kategorie anlegen
- 23.3 Sicherheitshinweise zu Kategorien
- 23.4 Private Methoden in Klassenerweiterungen
- 23.5 Übung: Eigenschaften über Klassenerweiterungen erweitern
- 23.6 Lösung: Eigenschaften über Klassenerweiterungen erweitern
- 23.7 Kategorien und Core Data
- 23.8 Generierte Klassen in Core Data
- 23.9 Auf Eigenschaften zugreifen
- 23.10 Klassendateien aus Entitäten neu generieren
-
24. Blöcke
- 24.1 Die Notwendigkeit von Blöcken in Wrappern
- 24.2 Einen Block deklarieren
- 24.3 Blöcke in Wrappern nutzen
- 24.4 Werte abfangen
- 24.5 Blöcke und Kollektionen
- 24.6 Blöcke deklarieren, definieren und benutzen
- 24.7 Die Verwendung von __block
- 24.8 Aufräumen mit typedef
- 24.9 Übung: Blöcke in Callbacks benutzen
- 24.10 Lösung: Blöcke in Callbacks nutzen
- 25. Operationen und ihre Queues
- 26. Dispatch-Queues
- 27. Frisch ans Werk
- Stichwortverzeichnis
Product information
- Title: Cocoa-Programmierung
- Author(s):
- Release date: May 2012
- Publisher(s): O'Reilly Verlag
- ISBN: 9783897216136
You might also like
book
Java™ Phrasebook
Essential Code and Commands Java Phrasebook gives you the code phrases you need to quickly and …
book
Professionelle Produktfotografie, 2. Auflage - Edition ProfiFoto
Vielfältige Anwendungsbeispiele und praktisches Hintergrundwissen Das passende Kamera- und Studioequipment Licht, Lichtquellen und Lichtführung richtig nutzen …
book
Keynote, 2nd Edition
Mit diesem Buch erstellen Sie unkompliziert Präsentationen, mit denen Sie Ihr Publikum fesseln. Setzen Sie die …
book
How Managers Can Help Workers Tackle Digital Distractions
Managers and staff alike have been conditioned to respond to digital messaging platforms to the exclusion …