Kakao (API)
Entwickler (en) | Apple Inc. |
---|---|
Geschrieben in | C, C ++, Ziel c, Schnell |
Betriebssystem | Mac OS |
Typ | Software -Framework |
Lizenz | Proprietär mit einigen Open Source -Komponenten |
Webseite | Apple -Entwickler |
Kakao ist Apfel'S Eingeborener objektorientierter Programmierschnittstelle (API) für seine Desktop Betriebssystem Mac OS.
Kakao besteht aus dem Foundation Kit, Anwendungsset, und Kerndatei Frameworks, wie von der enthalten Cocoa.h
Header-Datei und die von diesen enthaltenen Bibliotheken und Frameworks wie der C-Standardbibliothek und der Ziel-C-Laufzeit.[1]
Kakaoanwendungen werden typischerweise unter Verwendung der von Apple bereitgestellten Entwicklungstools entwickelt Xcode (früher Projektbauer) und Schnittstellenbauer (jetzt Teil von Xcode) mit der Programmiersprachen Ziel c oder Schnell. Auf die Cocoa -Programmierumgebung kann jedoch mit anderen Tools zugegriffen werden, wie z. Clozure Cl, Lispworks, Objekt Pascal, Python, Perl, Rubin, und Apfelkript mit Hilfe von Brückenmechanismen wie zum Beispiel Pasccoa, Pyobjc, Kamelknochen, Rubycocoa, und ein D/Objektive C-Brücke. Eine Ruby -Sprache -Implementierung benannt Makruby, was die Notwendigkeit eines Brückenmechanismus beseitigt, wurde früher von Apple entwickelt, während Nu ist ein Lispeln-ähnliche Sprache, die mit Kakao ohne Brücke verwendet werden kann. Es ist auch möglich, objektive C-Kakao-Programme in ein einfaches zu schreiben Texteditor und bauen es manuell mit GNU Compiler -Sammlung (GCC) oder Klang aus der Befehlszeile oder von a Makefile.
Zum Endverbraucher, Kakao Anwendungen Werden diejenigen mit der Cocoa -Programmierumgebung geschrieben? Solche Anwendungen haben normalerweise ein vertrautes Erscheinungsbild, da die Kakao -Programmierumgebung viel gemeinsam ist UI -Elemente (wie Schaltflächen, Scrollbalken usw.) und automatisiert viele Aspekte einer Anwendung, um Apple zu entsprechen Richtlinien für menschliche Schnittstellen.
Zum iOS, iPados, tvos, und Watchos, eine ähnliche API existiert, benannt Kakao -Berührung, welches beinhaltet Gestenerkennung, Animationund ein anderer Satz von Grafische Kontrollelemente. Es wird in verwendet Anwendungen Für Apple -Geräte wie die iPhone, das IPod Touch, das iPad, das Apple TV, und die Apple Watch.
Geschichte
Kakao setzt die Abstammung von mehreren fort Software -Frameworks (hauptsächlich die App Kit und Foundation Kit) von dem Nächster Schritt und OpenStep Programmierumgebungen entwickelt von durch Nächste In den 1980er und 1990er Jahren. Apple erwarb als nächstes im Dezember 1996 und arbeitete anschließend an der Arbeit an der Rhapsodie Betriebssystem, das der direkte Nachfolger von OpenStep sein sollte. Es sollte eine Emulationsbasis für gehabt haben Klassischer Mac OS Anwendungen, benannt Blaue Box. Die OpenStep -Basis von Bibliotheken und binärer Unterstützung wurde bezeichnet Gelbe Box. Rhapsody entwickelte sich zu Mac OS X, und die gelbe Box wurde Kakao. Somit beginnen Kakaounterricht mit den Buchstaben Ns, wie nsstring oder nsarray. Diese stehen für den ursprünglichen proprietären Begriff für das OpenStep -Framework, NextStep.[2]
Ein Großteil der Arbeiten, die in die Entwicklung von OpenStep gelangten, wurde für die Entwicklung von Mac OS X angewendet, wobei Kakao der sichtbarste Teil war. Es gibt jedoch Unterschiede. Zum Beispiel verwendet NextStep und OpenStep PostScript anzeigen Für die Anzeige von Text und Grafiken auf dem Bildschirm, während Kakao von Apple's abhängt Quarz (das verwendet die Tragbares Dokumentformat (PDF) Bildgebungsmodell, aber nicht seine zugrunde liegende Technologie). Kakao hat auch ein Maß an Internetunterstützung, einschließlich des NSURL und Webkit Html Klassen und andere, während OpenStep nur eine rudimentäre Unterstützung für verwaltete Netzwerkverbindungen über NSFileHandle -Klassen und hatte Berkeley Sockets.
Das resultierende Software -Framework erhielt den Namen Kakao Aus Gründen der Zweckmäßigkeit, weil der Name bereits von Apple eingetragen worden war. Viele Jahre vor dieser gegenwärtigen Verwendung des Namens, Apple, Kakao Marke hatte als Name eines Multimedia -Projektdesignantrags für Kinder entstanden. Die Anwendung war ursprünglich entwickelt Bei der Apple Advanced Technology Group unter dem Namen Kidsimund wurde dann umbenannt und als "Kakao" umbenannt und markiert. Der von Peter Jensen geprägte Name, der für die Entwicklung von Kakao für Apple eingestellt wurde, sollte "Java for Kids" hervorrufen, da er in Webseiten eingebettet war.[3] Die Marke und damit der Name "Kakao" wurden wiederverwendet, um die Verzögerung zu vermeiden, die bei der Registrierung eines neuen aufgetreten wäre Warenzeichen für diesen Software -Framework. Das ursprüngliche "Cocoa" -Programm wurde bei Apple in einem der eingestellt Rationalisierungen das folgte Steve Jobs's Rückkehr zu Apple. Es wurde dann an einen Dritten lizenziert und als vermarktet wie Stagecast -Schöpfer Bis 2014.
Speicherverwaltung
Ein Merkmal der Cocoa -Umgebung ist die Möglichkeit, dynamisch zugewiesene Speicher zu verwalten. Foundation Kit's nsObject Class, von der die meisten Klassen, sowohl Anbieter als auch Benutzer, abgeleitet werden, implementiert a Referenzzählung Schema für die Speicherverwaltung. Objekte, die aus der NSObject Root -Klasse abgeben, reagieren auf a zuückbehalten
und ein Veröffentlichung
Nachricht und behalten Sie eine Zahlung. Eine Methode mit dem Titel retainCount
existiert, aber im Gegensatz zu seinem Namen gibt es normalerweise nicht die genaue Rückhaltezahl eines Objekts zurück. Es wird hauptsächlich für Zwecke auf Systemebene verwendet. Das manuelle Aufrufen wird von Apple nicht empfohlen.
Ein neu zugewiesenes Objekt erstellt mit Alloc
oder Kopieren
hat eine Rückhaltung von einem. Senden dieses Objekts a zuückbehalten
Nachricht erhöht die Anzahl der Rückhaltungen, während sie sie sendet a Veröffentlichung
Nachricht verringert die Zahlung. Wenn die Anzahl eines Objekts Null erreicht, wird es durch ein Verfahren, das einem C ++ ähnelt, behandelt Zerstörer. OVALLOC
wird nicht garantiert aufgerufen.
Beginnend mit Objective-C 2.0 implementierte die Ziel-C-Laufzeit eine optionale Müllsammler, was jetzt veraltet und veraltet zugunsten von veraltet ist Automatische Referenzzählung (BOGEN). In diesem Modell drehte sich die Laufzeit Kakao Referenzzählung Operationen wie "Retain" und "Release" in No-Ops. Der Müllsammler existiert nicht auf dem iOS Implementierung von Objective-C 2.0. Die Müllsammlung in Objective-C wurde mit einem Hintergrund-Thread mit niedriger Priorität ausgeführt und kann die Benutzerereignisse von Cocoa aufhalten, um die Benutzererfahrung reaktionsschnell zu halten. Der Legacy Müllsammler ist weiterhin in Mac OS X Version 10.13 verfügbar, aber keine von Apple bereitgestellten Anwendungen verwenden ihn.
Im Jahr 2011 die Llvm Compiler eingeführt Automatische Referenzzählung (ARC), das den herkömmlichen Müllsammler ersetzt, indem er eine statische Analyse des Objektiv-C-Quellcodes durchführt und bei Bedarf die Rückhalte- und Freilassung von Nachrichten einfügt.
Hauptrahmen
Kakao besteht aus drei Ziel c Objektbibliotheken aufgerufen Frameworks. Frameworks sind funktional ähnlich wie gemeinsame Bibliotheken, ein kompiliertes Objekt, das zur Laufzeit dynamisch in den Adressraum eines Programms geladen werden kann. Frameworks fügen jedoch zugehörige Ressourcen, Header -Dateien und Dokumentationen hinzu. Die Kakao -Frameworks werden als Art von Art implementiert bündelnmit den oben genannten Elementen an Standardstandorten.
- Foundation Kit (Stiftung), erschien zunächst in Enterprise Objects Framework auf NextStep 3.[4] Es wurde im Rahmen der OpenStep -Arbeiten entwickelt und wurde anschließend die Grundlage für OpenSteps Appkit, als dieses System 1994 veröffentlicht wurde Kernfundament. Foundation ist eine generische objektorientierte Bibliothek, die bereitgestellt wird Saite und Wertmanipulation, Behälter und Wiederholung, verteiltes Computer, Ereignisschleifen (Ausführen von Loops) und andere Funktionen, die nicht direkt an die grafische Benutzeroberfläche gebunden sind. Das "ns" Präfix, verwendet für alle Klassen und Konstanten Im Rahmen stammt aus dem OpenStep -Erbe von Cocoa, das gemeinsam von Next and entwickelt wurde Sun Microsystems.
- Anwendungsset (Appkit) wird direkt vom Original NextStep -Anwendungskit abstammen. Es enthält Codeprogramme können verwenden, um mit zu erstellen und mit ihnen zu interagieren Grafische Benutzeroberflächen. Appkit ist auf der Fundament aufgebaut und verwendet dasselbe Ns Präfix.
- Kerndatei ist das Objekt Persistenz -Framework, das mit der Stiftung und Kakao enthalten ist und in Kakao gefunden wurde.[1]
Ein wesentlicher Bestandteil der Kakaoarchitektur ist das umfassende Ansichtenmodell. Dies ist nach herkömmlichen Linien für ein Anwendungsrahmen organisiert, basiert jedoch auf dem Tragbares Dokumentformat (PDF) Zeichnungsmodell von bereitgestellt von Quarz. Dadurch ermöglicht das Erstellen von benutzerdefiniertem Zeichnungsinhalt mithilfe von Inhalten PostScript-Sähnliche Zeichnungsbefehle, die auch den automatischen Druckerunterstützung usw. ermöglichen. Da das Cocoa -Framework das gesamte Ausschnitt, Scrollen, Skalieren und andere Aufgaben von Zeichnungsgrafiken verwaltet, wird der Programmierer von der Implementierung grundlegender Infrastruktur befreit und kann sich auf die einzigartigen Aspekte des Inhalts einer Anwendung konzentrieren.
Model View Controller
Das Smalltalk Teams bei Xerox Parc Schließlich entschieden sich für eine Designphilosophie, die zu einer einfachen Entwicklung und einer hohen Wiederverwendung von Code führte. Genannt Model View Controller (MVC) unterteilt eine Anwendung in drei Sätze interagierender Objektklassen:
- Modellklassen stellen die Daten und Operationen der Problemdomänen dar (z. B. Listen von Personen/Abteilungen/Budgets; Dokumente, die Abschnitte/Absätze/Fußnoten mit stilisierten Text enthalten).
- View-Klassen implementieren visuelle Darstellungen und Leistungen für die Wechselwirkung zwischen Mensch und Komputer (z. B. scrollbare Gitter von Bildunterschriften und Pop-up-Menüs möglicher Operationen).
- Controller-Klassen enthalten eine Logik, die Modelldaten als Ansichtsdarstellungen überflächen, die von der Ertrag initiierten Benutzeraktionen für den Modellieren von Vorgängen kartiert und den Status für die Aufrechterhaltung der beiden synchronen behält.
Das Design von Cocoa ist eine ziemlich, aber nicht absolut strenge Anwendung der MVC -Prinzipien. Unter OpenStep waren die meisten vorgesehenen Klassen entweder hochrangige Ansichtsklassen (in AppKit) oder eine von einer Reihe von relativ niedrigen Modellklassen wie NSString. Im Vergleich zu ähnlichen MVC -Systemen fehlte OpenStep eine starke Modellschicht. Keine Aktienklasse war beispielsweise ein "Dokument". Während des Übergangs zum Kakao wurde die Modellschicht erheblich erweitert, wobei eine Reihe von vorgerollten Klassen eingeführt wurden, um Funktionen für Desktop-Anwendungen zu bieten.
In Mac OS X 10.3 führte Apple die NSController -Klassenfamilie ein, die vordefiniertes Verhalten für die Controller -Schicht bieten. Diese Klassen werden als Teil des Kakao-Bindungssystems angesehen, das auch Protokolle wie die Beobachtung von Schlüsselwert und die Schlüsselwertbindung ausführlich verwendet. Der Begriff "Bindung" bezieht sich auf eine Beziehung zwischen zwei Objekten, häufig zwischen einer Ansicht und einem Controller. Bindungen ermöglichen es dem Entwickler, sich mehr auf deklarative Beziehungen zu konzentrieren, als sich feinkörniges Verhalten zu orchestrieren.
Mit der Ankunft von Mac OS X 10.4 erweiterte Apple diese Stiftung weiter durch die Einführung der Kerndatei Framework, das Änderungsverfolgung und Persistenz in der Modellschicht standardisiert. Tatsächlich vereinfacht der Framework den Prozess der Änderung der Anwendungsdaten erheblich, bei Bedarf Änderungen rückgängig zu machen, Daten auf Festplatten zu speichern und sie wieder zu lesen.
Bei der Bereitstellung von Framework-Unterstützung für alle drei MVC-Domänen ist es das Ziel von Apple, die Menge an Kesselplatten- oder "Kleber" -Code zu verringern, die Entwickler schreiben müssen, und die Ressourcen freigeben, um Zeit für anwendungsspezifische Funktionen zu verbringen.
Späte Bindung
In den meisten objektorientierten Sprachen werden Aufrufe zu Methoden physisch durch einen Zeiger auf den Code im Speicher dargestellt. Dies schränkt das Design einer Anwendung seit spezifisch ein Befehlsbearbeitung Klassen werden benötigt, normalerweise organisiert nach dem Verantwortungskette Muster. Während Kakao diesen Ansatz größtenteils beibehält, ist Objective-Cs späte Bindung öffnet mehr Flexibilität.
Unter Ziel-C werden Methoden durch a dargestellt Wähler, eine Zeichenfolge, die die aufgerufene Methode beschreibt. Wenn eine Nachricht gesendet wird Implementierung wird genannt. Da es sich bei dem Selektor Textdaten handelt, können Sie in einer Datei gespeichert, über ein Netzwerk oder zwischen Prozessen übertragen oder auf andere Weise manipuliert werden. Die Implementierung der Methode wird zur Laufzeit nachgeschlagen, nicht die Zeit. Dafür gibt es eine kleine Leistungsstrafe,[5] Die verspätete Bindung ermöglicht es jedoch, dass derselbe Selektor auf verschiedene Implementierungen verweist.
Mit einem ähnlichen Token bietet Kakao eine allgegenwärtige Datenmanipulationsmethode genannt Schlüsselwertcodierung (KVC).[6] Auf diese Weise können ein Datenstück oder eine Eigenschaft eines Objekts zur Laufzeit nach Namen nachschlagen oder geändert werden. Der Eigenschaftsname fungiert als Schlüssel zum Wert. In traditionellen Sprachen ist diese späte Bindung unmöglich. KVC führt zu einer großartigen Designflexibilität. Der Typ eines Objekts muss nicht bekannt sein, aber jede Eigenschaft dieses Objekts kann mit KVC entdeckt werden. Auch durch Erweiterung dieses Systems mithilfe von etwas Kakao -Begriffen Schlüsselwertbeobachtung (KVO), automatische Unterstützung für rückgängig wiederholen wird gestellt.
Die späte statische Bindung ist eine Variante der Bindung irgendwo zwischen statischer und dynamischer Bindung. Die Bindung von Namen vor dem Programm wird als statisch bezeichnet (frühzeitig); Bindungen, die als Programmläufe durchgeführt werden, sind dynamisch (spät oder virtuell).
Reiche Objekte
Eines der nützlichsten Merkmale von Kakao ist die mächtige Basisobjekte Das System liefert. Betrachten Sie als Beispiel die Grundkurse Nsstring
und NsattributString
, was liefern Unicode Saiten, und die NStext
System in AppKit, mit dem der Programmierer String -Objekte in die GUI platzieren kann.
NStext
und seine damit verbundenen Klassen werden zum Anzeigen und Bearbeiten von Zeichenfolgen verwendet. Die Sammlung der beteiligten Objekte ermöglicht es einer Anwendung, alles von einem einfachen einzeiligen Texteintragsfeld bis hin zu einem kompletten mehrseitigen Multi-Säulen-Text-Layout-Schema mit vollem Profi zu implementieren Typografie Funktionen wie Kerning, Ligaturen, Ausführen von Text rund um willkürlich Formen, Drehung, volle Unicode -Unterstützung und anti-aliased Glyphe Rendering. Das Absatzlayout kann automatisch oder vom Benutzer unter Verwendung eines integrierten "gesteuert werden"Lineal"Objekt, das an eine beliebige Textansicht beigefügt werden kann. Die Zauberprüfung ist automatisch mit einem systemweiten Satz von Sprachwörterbüchern. Unbegrenzte Rückgänger-/Wiederherstellungsunterstützung ist eingebaut. Nur die integrierten Funktionen können eine Texteditor-Anwendung schreiben. In nur 10 Codezeilen. Mit neuen Controller-Objekten kann dies in Richtung Null fallen. Wenn Erweiterungen benötigt werden, macht die Verwendung von Objektiv-C durch die Kakao dies zu einer einfachen Aufgabe. Objective-C enthält das Konzept von "Kategorien, "Das ermöglicht die Änderung der vorhandenen Klasse" Einstellung ". Die Funktionalität kann in einer Kategorie ohne Änderungen an den ursprünglichen Klassen im Framework oder sogar zu Zugang zu seiner Quelle durchgeführt werden. In anderen gemeinsamen Sprachen erfordert dieselbe Aufgabe eine neue Ableitung eines neuen Ableitungen Unterklasse unterstützt die zusätzlichen Funktionen und ersetzt dann alle Instanzen der Originalklasse durch Instanzen der neuen Unterklasse.
Implementierungen und Bindungen
Die Kakao -Frameworks sind in geschrieben Ziel c. Java Bindungen Für die Kakao -Frameworks (bezeichnet die Java -Brücke) wurden auch zur Verfügung gestellt, um Objektiv-C durch eine beliebtere Sprache zu ersetzen[7] Diese Bindungen waren jedoch bei Kakaoentwicklern unpopulär und die Botschaft von Kakao, die Passing-Semantik hat, übersetzte sich nicht gut in eine statisch typische Sprache wie Java.[8] Das Bedürfnis von Kakao nach Laufzeitbindung bedeutet, dass viele der wichtigsten Funktionen von Kakao bei Java nicht verfügbar sind. Im Jahr 2005 kündigte Apple an, dass die Java-Brücke veraltet sein sollte, was bedeutet, dass die Koko-Java-Programmierschnittstelle nicht zu Kakao in MacOS-Versionen hinzugefügt werden.
Bei Apple Worldwide Developers Conference (WWDC) 2014 stellte Apple eine neue Programmiersprache mit dem Namen Schnell, das soll Objective-C ersetzen.[9]
AppleScriptobjc
Ursprünglich könnte AppleScript Studio verwendet werden, um einfachere Kakao -Anwendungen zu entwickeln.[10] Wie von Schneeleopard wurde es jedoch veraltet. Es wurde durch appleScriptobjc ersetzt, was die Programmierung in ermöglicht Apfelkriptwährend der Verwendung von Kakao -Frameworks.[11]
Andere Bindungen
Ein für andere Sprachen verfügbare Drittanbieterbindungen enthalten Clozure Cl, Monobjc und Nobjektiv (C#), Kakao# (CLI), Cocodao und D/Objektive C-Brücke,[12][13] Lispworks, Kamelknochen (Perl), Pyobjc (Python), FPC Pasccoa (Lazarus und Kostenloser Pascal), Rubycocoa (Rubin).[14] Nu verwendet die Ziel c Objektmodell direkt und kann daher die Kakao -Frameworks verwenden, ohne eine Bindung zu benötigen.
Andere Implementierungen
Es gibt auch Open -Source -Implementierungen wichtiger Teile des Kakao -Frameworks, wie z. Gn .p und Cocotron,[15] welche es erlauben plattformübergreifend Entwicklung von Kakaoanwendungen, um andere Betriebssysteme anzusprechen, wie z. Microsoft Windows und Linux.
Siehe auch
Verweise
- ^ a b MAC -Technologieübersicht: OS X -Frameworks. Entwickler.apple.com. Abgerufen am 18. September 2013.
- ^ Amit Singh (19. Juni 2006). Mac OS X -Interna: Ein Systemansatz. ISBN 0-321-27854-2.
Kakao ist ein wichtiges Erbe aus dem nächsten
- ^ MARDEsich, Jodi (14. April 1997). "Ein sauerer Hinweis in Apples Rhapsody Einst-Loyal-Software-Autoren, die sich vor dem neuen Betriebssystem als entscheidende Konferenz befassen, dürfen sich aufwenden.". Nr. Morgenfinale. San Jose Mercury News. Abgerufen 13. August, 2015.
- ^ Hybridworld. Cilinder.be. Abgerufen am 18. September 2013.
- ^ Wikibooks - einige objektive C -Vorteile
- ^ "Programmierhandbuch für Schlüsselwert-Codierung". Abgerufen 27. September, 2021.
- ^ Steve Klingsporn (2003). "Kakao -Apps in Java schreiben". Mactech. 19 (12).
- ^ "Verwenden der Java -Brücke" (PDF). Apple Inc.
Da Java eine stark typisierte Sprache ist, sind weitere Informationen zu den Klassen und Schnittstellen erforderlich, die sie zur Kompilierung der Kompilierung manipuliert. Daher muss vor der Verwendung von Objective-C-Klassen als Java eine Beschreibung geschrieben und zusammengestellt werden.
- ^ "Apples geheime schnelle Sprache wuchs von der Arbeit zu dem Ziel des Ziels, das es jetzt ersetzen soll.".
- ^ "Applescript Studio Programming Guide (nicht empfohlen): Über Apfelkriptstudio". Apple Inc. Abgerufen 20. November, 2013.
- ^ "AppleScriptobjc -Versionsnotizen". Apple Inc. Abgerufen 20. November, 2013.
- ^ Cocodao, Brücke, um Kakaoanwendungen in der D -Sprache zu erstellen.
- ^ D/Ziel-C-Brücke, a Sprachbindung Mechanismus für Kakao.
- ^ Umfangreichere Liste der Implementierungen
- ^ Kokotron, kostenlose Software -Implementierung von Kakao.
Literaturverzeichnis
- Aaron Hillegass: Cocoa -Programmierung für Mac OS X, Addison-Wesley, 3. Auflage 2008, Taschenbuch, ISBN0-321-50361-9.
- Stephen Kochan: Programmierung in Objektiv-C, Sams, 1. Ausgabe 2003, Taschenbuch, ISBN0-672-32586-1.
- Michael Beam, James Duncan Davidson: Kakao auf den Punkt gebracht, O'Reilly, 1. Ausgabe 2003, Taschenbuch, ISBN0-596-00462-1.
- Erick Tejkowski: Kakaoprogramm für Dummies, 1. Auflage 2003, Taschenbuch, ISBN0-7645-2613-8.
- Simson Garfinkel, Michael K. Mahoney: Bauen von Kakaoanwendungen: Ein Schritt -für -Schritt -Leitfaden, O'Reilly, 1. Ausgabe 2002, Taschenbuch, ISBN0-596-00235-1.[1]
- Paris Buttfield-Addison, Jon Manning: Kakao lernen mit Objektiv-C, O'Reilly, 3. Auflage 2012, Taschenbuch, Taschenbuch, ISBN978-1-4493-1849-9.
- Scott Anguish, Erik M. Buck, Donald A. Yacktman: Kakaoprogrammierung, Sams, 1. Ausgabe 2002, Taschenbuch, ISBN0-672-32230-7.
- Erik M. Buck, Donald A. Yacktman: Kakao -Designmuster, Addison-Wesley Professional, 1. Ausgabe 2009, Taschenbuch, ISBN978-0321535023
- Bill Cheeseman: Kakaorezepte für Mac OS X, Peachpit Press, 1. Auflage 2002, Taschenbuch, ISBN0-201-87801-1.
- Andrew Duncan: Objektiv-C-Taschenreferenz, O'Reilly, 1. Auflage 2002, Taschenbuch, ISBN0-596-00423-0.
Externe Links
- Offizielle Website[Dead Link]
- MAC Developer Library, Kakaoschicht, Apples Dokumentation
- idevapps, Mac -Programmierforum
- Cocoa Dev Central
- Cocoa Dev
- Stapelüberlauf: Kakao
- ^ Garfinkel, Simson; Mahoney, Michael K. (2002). Bauen von Kakaoanwendungen: Ein Schritt -für -Schritt -Leitfaden. O'Reilly. Citeseerx 10.1.1.394.3248.