Zuhause Social Media Mac Anwendungsentwicklung für Dummies Cheat Sheet - Dummies

Mac Anwendungsentwicklung für Dummies Cheat Sheet - Dummies

Video: Google Chrome Konsole öffnen 2025

Video: Google Chrome Konsole öffnen 2025
Anonim

beschäftigen Von Karl G. Kowalski

Die Entwicklung von Macintosh-Anwendungen erfordert Kreativität, Programmierkenntnisse in Objective-C, etwas Geduld und eine gute Portion Beharrlichkeit bei der Implementierung, Verfeinerung, und liefern Sie Ihre Macintosh-Anwendung an Ihre Benutzer in einwandfreiem Zustand. Auf dem Weg zu diesem Ziel werden Sie auf einige Herausforderungen stoßen, die Ihre Programmier- und Problemlösungsfähigkeiten testen werden. Sie müssen (unter anderem) mit Delegaten umgehen, um Anwendungsrückrufe zu implementieren. Nicht-Objective-C-Frameworks von Apple verwenden; und Einbindung von C ++ - Code in Ihre Apps.

Implementieren von Callbacks in Macintosh-Anwendungen

Die Macintosh-Anwendungsentwicklung verwendet Callbacks , um es Mac OS X zu ermöglichen, Code in der App für bestimmte Operationen auszuführen. Wenn Sie eine standardmäßige Macintosh-Anwendung für Fenster oder Dokumente erstellen, ist der erste Code, den OS X ausführt, einer der folgenden Rückrufmethoden, die Sie je nach App-Design für Ihre App erstellen müssen:

  • Windows-basierte Anwendungen: (void) applicationDidFinishLaunching: (NSNotification *) aNotification

  • Dokumentbasierte Anwendungen: (void) windowControllerDidLoadNib: (NSWindowController *) windowController

Ein Callback ist einfach ein Methode, die das Betriebssystem schließlich ausführt, während es versucht, Informationen aus Ihrer App bereitzustellen oder abzurufen. Ihr Anwendungscode führt eine Methode für eine Cocoa-Klasse aus, bei der Ihre App die Möglichkeit hat, den Namen einer Methode einer Ihrer Klassen anzugeben, die auf einem Objekt dieser Klasse aufgerufen wird, das Ihre App ebenfalls bereitstellen muss.

Ein -Delegat ist ein Hilfsobjekt, das eine Cocoa-Klasse verwendet, um die Funktionalität der Klasse zu erweitern, indem Sie Code implementieren können, den die Cocoa-Klasse unter bestimmten Umständen ausführen wird. Eine Cocoa-Klasse überprüft ihr Delegate-Objekt (falls eines zugewiesen wurde), ob der Delegat eine Implementierung einer bestimmten Methode bereitstellt. Wenn der Delegat diese Methode hat, führt die Cocoa-Klasse diese Methode aus. Wenn der Delegat diese bestimmte Methode nicht implementiert, verwendet die Cocoa-Klasse entweder eine eigene Standardmethode oder protokolliert einen Fehler. Die meisten Delegierten müssen ein bestimmtes -Protokoll enthalten, das festlegt, welche Methoden sie implementieren können. Die Delegaten Ihres Codes müssen die Implementierungsmethoden des spezifischen Protokolls verwenden, das der Delegat erwartet.

Hier finden Sie einige der Cocoa-Objekte, die Delegaten verwenden können, um Ihren Code auszuführen:

  • NSTableView.Die NSTableView akzeptiert einen Delegaten, der dem NSTableViewDelegate-Protokoll gehorcht. Dies umfasst 20 bis 30 Methoden, die das Delegate-Objekt Ihrer App implementieren kann, um die App zu unterstützen, damit Sie wissen, was NSTableView gerade tut. Es gibt Methoden, die in Ihrer Anwendung aufgerufen werden, wenn sie eine Aktion kennen und darauf reagieren müssen, z. B. wenn ein Benutzer eine Auswahl in der Tabelle trifft oder wenn die Größe einer Spalte geändert wird.

  • NSAnwendung. Sie können ein NSApplicationDelegate zuweisen, um einige der Methoden zu behandeln, die eine NSApplication-Instanz (Ihre Anwendung) erhält. Diese Methoden können kurz vor oder kurz nachdem Ihre Anwendung eine andere Methode ausführt, aufgerufen werden, damit Ihre App vorbereitet werden kann.

  • NSWindow. Ein NSWindowDelegate, das einem der Fenster Ihrer Anwendung zugewiesen ist, gibt Ihrer App die Möglichkeit, auf die Größe des Benutzers, das Verschieben oder andere Fensterereignisse zu reagieren.

  • NSMenu. Sie implementieren ein NSMenuDelegate, um Ereignisse zu unterstützen, die auftreten, wenn ein Benutzer mit Menüs in Ihrer Anwendung interagiert.

Nicht-Objective-C-Frameworks in Macintosh-Anwendungen

Apple bietet viele Macintosh-Anwendungsentwicklungsframeworks (Codebibliotheken), die Ihre Anwendung aufrufen kann, um Tausende von Operationen in OS X durchzuführen. Viele dieser Frameworks, z. Kit besteht aus Objective-C-Klassen, aus denen Ihre App Objekte in Ihren Anwendungen erstellen und verwenden kann. Einige dieser Frameworks sind jedoch nur Funktionsbibliotheken, die von Ihrer App ausgeführt werden können.

Zum Beispiel ist das CFNetwork-Framework eine Reihe von Funktionen, mit denen Ihre App feinabgestimmte Netzwerkverbindungen ausführen kann. Die NSURL-Klasse stellt eine Reihe grundlegender Netzwerkoperationen bereit, die sich hervorragend zum Abrufen von Daten mithilfe einer URL eignen. Wenn Ihre App mehr Kontrolle über die Netzwerkkommunikation erfordert, müssen Sie das CFNetwork-Framework und seine Funktionen verwenden. Sie könnten den folgenden Code verwenden, um eine HTTP-Anforderung für die Übertragung an eine bestimmte URL vorzubereiten:

CFStringRef httpBody = CFSTR ("); CFStringRef headerFieldName = CFSTR (" Cookie "); // Spezielles Cookie zur HTTP-Anforderung hinzufügen CFStringRef headerFieldValue = CFSTR ("loginID = meinbenutzername; passwort = mein_passwort;"); CFStringRef url = CFSTR ("www. Diabeticpad. Com"); CFURLRef urlRef = CFURLCreateWithStrign (kCFAllocatorDefault, url, NULL); CFStringRef requestMethod = CFSTR ("GET"); CFHTTPMessageRef request = CFHTTPMessageCreateRequest (kCFAllocatorDefault, request, url, kCFHTTPVersion1_1); CFHTTPMessageSetBody (Anfrage, httpBody); // fügen Sie den Cookie CFHTTPMessageSetHeaderFieldValue (Anfrage, headerFieldName, headerFieldValue); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (Anfrage);

Sobald Ihr Code hat Bei der serialisierten Anfrage kann Ihre App dann einen Schreib-Stream öffnen, um die Anfrage an ihr Ziel zu liefern.

Alle C-basierten Apple Frameworks bieten eine Satz von Funktionen zum Durchführen dieser Art von untergeordneter Programmierung. Ihr Code wird komplizierter, aber Apple bietet keine Objective-C-Klassen für alle seine Frameworks an.Wenn Sie wirklich die in einem dieser Frameworks verfügbaren Funktionen benötigen, können Sie die Ziele Ihrer App nur erreichen. Die folgenden Frameworks bieten keine Objective-C-Klassen:

  • Audio Toolbox

  • CFNetwork

  • Core-MIDI

  • Core Text

  • Verzeichnisdienst (z. B. LDAP und Open Directory)

  • Sicherheit > Wenn Sie Apps erstellen möchten, die die Funktionen von OS X voll nutzen können, müssen Sie bereit sein, die Verwendung von Nicht-Objective-C-Codebibliotheken zu unterstützen.

C ++ - Code in Objective-C-Macintosh-Anwendungen

Objective-C bietet objektorientierte Funktionen für die Macintosh-Anwendungsentwicklung, z. B. Vererbung und Polymorphie. Die Sprache basiert auf der Programmiersprache C; Daher können Sie Ihre Programmierkenntnisse in C verwenden, um innerhalb von Objective-C zu codieren. Objective-C ++ ist ein Bridge-Mechanismus, der es Objective-C-Quellmodulen ermöglicht, mit Objective-C ++ - Klassen zu arbeiten, die mit C ++ - Codebibliotheken kompilieren und verknüpfen können.

Das folgende einfache Beispiel einer quadratischen Matrix zeigt den Inhalt einer C ++ - Headerdatei für eine Matrix-Klasse. Die Matrix-Klasse enthält den Standardkonstruktor und den Destruktor für eine C ++ - Klasse, und die Methoden entsprechen den Erwartungen an ein einfaches Quadratmatrixobjekt:

class Matrix {public: Matrix (int inSize); virtuell ~ Matrix (); int getSize (ungültig); int getDeterminant (ungültig); void setElement (int inRow, int inCol, int inValue); int getElement (int inRow, int inCol); Matrixoperator + (const Matrix & inAddend); privat: int m_size; int [] [] m_elements;};

Um Objective-C ++ verwenden zu können, müssen Ihre Objective-C ++ - Klassenmodule die Dateierweiterung verwenden. mm. Dies teilt dem Xcode-Compiler mit, dass die Klasse mit Objective-C ++ kompiliert werden soll, wodurch Ihre Klasse C ++ - Schlüsselwörter verwenden kann. Mit Objective-C ++ kann Ihre App ein Matrix-Objekt erstellen, um grundlegende Operationen auszuführen, z. B. zwei Matrix-Objekte zusammenzufügen. Dies setzt voraus, dass das Objective-C ++ - Quellmodul die C ++ - Matrix # importiert hat. h Datei:

- (void) addTwoMatrices {Matrix matrixOne (3); // 3x3 Matrix MatrixmatrixZwei (3); // ein anderes int rowIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex <3; ++ rowIndex) {für (colIndex = 0; colIndex <3; ++ colIndex) {// setze die Elemente von matrix one auf ihre Werte matrixOne. setElement (rowIndex, colIndex, XXX); // setze die Elemente von Matrix zwei auf einige andere Werte matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matrixOne + matrixTwo;

Mit Objective-C ++ können Ihre Apps alle verfügbaren Bibliotheken von Drittanbietern nutzen, die für C ++ geschrieben wurden.
Mac Anwendungsentwicklung für Dummies Cheat Sheet - Dummies

Die Wahl des Herausgebers

Image Hintergrundgrundlagen in der Foodfotografie - Dummies

Image Hintergrundgrundlagen in der Foodfotografie - Dummies

Ein Foodstylist und Food Fotograf's Toolkit enthält eine Sammlung von Hintergründen, Requisiten , und Werkzeuge, die Sie brauchen, um schöne Einstellungen zu erstellen, um Ihre Nahrung Themen zu zeigen. Hintergründe beziehen sich auf zwei Dinge - die Kulisse, die hinter dem Objekt hängt oder aufliegt, und was genau unter dem Essen sitzt, das Sie fotografieren. Der Hintergrund ist ...

Farbe in Makro oder Nahaufnahme verbessern - Dummies

Farbe in Makro oder Nahaufnahme verbessern - Dummies

Farbe spielt eine wichtige Rolle in Makro- und Nahaufnahmen, ob es darum geht, ein kleines Motiv darzustellen, für das es wirklich aussieht (wie bei der Fotografie von kleinen Produkten) oder um eine bestimmte Stimmung in einem Bild zu erzeugen (wie Blaustich, um ein cooles Gefühl zu erzeugen) .. Mit der Postproduction-Verarbeitung haben Sie die volle Kontrolle ...

Wie man das perfekte Selfie nimmt - dummies

Wie man das perfekte Selfie nimmt - dummies

Seit die digitale Fotografie zum Mainstream wurde, ist es sehr einfach geworden, mehrere Fotos von dir (bekannt als selfies), bevor du deinen Liebling auswählst und ihn mit anderen teilst. Wenn Sie daran interessiert sind, Selfies mit Ihren Freunden und Ihrer Familie zu teilen und zu teilen, beachten Sie Folgendes, bevor Sie beginnen. Welcher Stil oder welche Art von Selfie ...

Die Wahl des Herausgebers

Die Sicherheit von Bitcoins - Dummies

Die Sicherheit von Bitcoins - Dummies

Ist bei Bitcoin genauso wichtig wie bei Ihrem persönlichen Bankkonto. Je sicherer du auf deine Bitcoins zugreifst, desto weniger wahrscheinlich wird es jemandem gelingen, sie zu schnappen. Wenn Sie beispielsweise aufgefordert werden, ein Passwort anzugeben, stellen Sie sicher, dass es eindeutig ist. Verwenden Sie kein Passwort, das Sie auf anderen ...

Wie Sie Ihre QuarkXPress Layout - Dummies

Wie Sie Ihre QuarkXPress Layout - Dummies

In der QuarkXPress Layout-Umgebung heranzoomen können, die beiden Navigationstechniken, die Sie beim Layout am häufigsten verwenden Seiten in QuarkXPress vergrößern und verkleinern eine Seite (auch Prozentuale Änderung der Ansicht) und verschieben eine Seite. Da diese Aktionen so häufig sind, finden Sie unten in der Werkzeugpalette Werkzeuge für sie. Das Zoom-Werkzeug ...

Serviceorientierte Architekturkomponenten - Dummies

Serviceorientierte Architekturkomponenten - Dummies

Alle Elemente der serviceorientierten Architektur (SOA) sind so angeordnet, dass sie eine Verbindung herstellen durch Geschäftsprozesse, um ein präzises Serviceniveau zu bieten. SOA entwickelt eine grundlegende Anordnung von Komponenten, die gemeinsam einen komplexen Geschäftsservice verwalten können. Um das Layout von SOA zu verstehen, werfen Sie einen Blick auf dieses Flussdiagramm von Service-orientierten Architekturkomponenten: Hilfe ...

Die Wahl des Herausgebers

Zum Hinzufügen eines Excel 2007-Makros zur Symbolleiste für den Schnellzugriff - dummies

Zum Hinzufügen eines Excel 2007-Makros zur Symbolleiste für den Schnellzugriff - dummies

Weisen Sie ein in Excel 2007 erstelltes Makro einer benutzerdefinierten Schaltfläche in der Symbolleiste für den Schnellzugriff zu und führen Sie es dann aus, indem Sie auf diese Schaltfläche klicken. Dies ermöglicht einen schnelleren Zugriff auf ein Makro als die Verwendung des Dialogfelds Makro.

Zum Hinzufügen eines Excel 2010-Makros zur Symbolleiste für den Schnellzugriff - dummies

Zum Hinzufügen eines Excel 2010-Makros zur Symbolleiste für den Schnellzugriff - dummies

Weisen Sie ein in Excel 2010 erstelltes Makro einer benutzerdefinierten Schaltfläche in der Symbolleiste für den Schnellzugriff zu und führen Sie es dann aus, indem Sie auf diese Schaltfläche klicken. Dies ermöglicht einen schnelleren Zugriff auf ein Makro als die Verwendung des Dialogfelds Makro.