Accueil Médias sociaux Mac Développement d'applications pour Dummies Cheat Sheet - nuls

Mac Développement d'applications pour Dummies Cheat Sheet - nuls

Vidéo: iOS Tutorial (2019): How To Make Your First App 2024

Vidéo: iOS Tutorial (2019): How To Make Your First App 2024
Anonim

Par Karl G. Kowalski

Le développement d'applications Macintosh nécessite de la créativité, des compétences de programmation Objective-C, de la patience et une bonne dose de persévérance pour mettre en œuvre, affiner, et livrez votre application Macintosh en bon état de fonctionnement à vos utilisateurs. Sur votre chemin vers cette destination, vous rencontrerez des défis qui testeront vos compétences en programmation et en résolution de problèmes. Vous devez vous attaquer (entre autres) à l'utilisation de délégués pour implémenter des rappels d'applications; utiliser des frameworks non-Objective-C d'Apple; et incorporer du code C ++ dans vos applications.

Implémentation des rappels dans les applications Macintosh

Le développement d'applications Macintosh utilise callbacks pour permettre à Mac OS X d'exécuter du code dans votre application pour des opérations spécifiques. Si vous créez une application standard basée sur une fenêtre ou un document Macintosh, le tout premier code exécuté par OS X est l'une des méthodes de rappel suivantes que vous devez créer pour votre application, en fonction de la conception de l'application:

  • Applications basées sur une fenêtre: (void) applicationDidFinishLaunching: (NSNotification *) aNotification

  • Applications basées sur un document: (void) windowControllerDidLoadNib: (NSWindowController *) windowController

Un callback est simplement un méthode que le système d'exploitation finit par exécuter pendant qu'il essaie de fournir ou de récupérer des informations à partir de votre application. Votre code d'application exécutera une méthode pour une classe Cocoa où votre application aura l'opportunité de fournir le nom d'une méthode de l'une de vos classes, à appeler sur un objet de cette classe que votre application devra également fournir.

Un délégué est un objet auxiliaire, utilisé par une classe Cocoa pour étendre la fonctionnalité de la classe en vous permettant d'implémenter du code que la classe Cocoa exécutera dans certaines circonstances. Une classe Cocoa vérifie son objet délégué (s'il en a été affecté) pour savoir si le délégué fournit une implémentation d'une méthode spécifique. Si le délégué a cette méthode, la classe Cocoa exécute cette méthode; Si le délégué n'implémente pas cette méthode spécifique, la classe Cocoa utilise sa propre méthode par défaut ou enregistre une erreur. La plupart des délégués doivent incorporer un protocole particulier qui détermine les méthodes qu'ils peuvent mettre en œuvre; Les délégués de votre code doivent utiliser les méthodes d'implémentation du protocole spécifique attendu par le délégué.

Voici certains des objets Cocoa qui peuvent utiliser des délégués pour exécuter votre code:

  • NSTableView.NSTableView accepte un délégué qui obéit au protocole NSTableViewDelegate. Cela inclut 20 à 30 méthodes que l'objet délégué de votre application peut implémenter pour prendre en charge le besoin de votre application de savoir ce que fait NSTableView. Il existe des méthodes qui seront appelées dans votre application quand elle a besoin de connaître et de réagir à une action, par exemple lorsqu'un utilisateur effectue une sélection dans la table ou lorsqu'une colonne est redimensionnée.

  • NSApplication. Vous pouvez affecter un NSApplicationDelegate pour gérer certaines des méthodes qu'une instance NSApplication (votre application) recevra. Ces méthodes peuvent être appelées juste avant ou juste après que votre application exécute une autre méthode, afin que votre application puisse être préparée.

  • NSWindow. Un NSWindowDelegate assigné à l'une des fenêtres de votre application donnera à votre application une chance de répondre à un changement d'utilisateur, à un déplacement ou à d'autres événements de fenêtre.

  • NSMenu. Vous implémentez un NSMenuDelegate pour prendre en charge les événements qui se produisent lorsqu'un utilisateur interagit avec les menus de votre application.

Cadres non Objective-C dans les applications Macintosh

Apple propose de nombreux frameworks de développement d'applications Macintosh (bibliothèques de code) que votre application peut appeler pour effectuer des milliers d'opérations sous OS X. Beaucoup de ces frameworks, tels que le PDF Kit, sont composés de classes Objective-C, à partir desquelles votre application peut créer et utiliser des objets dans vos applications. Cependant, certains de ces frameworks ne sont que des bibliothèques de fonctions que votre application peut exécuter.

Par exemple, l'infrastructure CFNetwork est un ensemble de fonctions que votre application peut utiliser pour effectuer des connexions réseau affinées. La classe NSURL fournit un bon ensemble d'opérations de réseau de base qui permettent d'extraire des données en utilisant une URL. Si votre application nécessite plus de contrôle sur les communications réseau qu'elle initie, vous devrez utiliser le framework CFNetwork et ses fonctions. Vous pouvez utiliser le code suivant pour préparer une requête HTTP pour la transmission vers une URL spécifique:

Une fois que votre code a été saisi la demande sérialisée, votre application peut alors ouvrir un flux d'écriture afin de livrer la demande à sa destination.

Tous les frameworks Apple basés sur C fournissent un ensemble de fonctions pour effectuer ce type de programmation de niveau inférieur. Votre code sera plus compliqué, mais Apple ne fournit pas de classes Objective-C pour tous ses frameworks.Si vous avez réellement besoin de la fonctionnalité disponible dans l'un de ces frameworks, c'est la seule façon de réaliser les objectifs de votre application. Les frameworks suivants ne fournissent pas de classes Objective-C:

Audio Toolbox

  • CFNetwork

  • Core MIDI

  • Core Text

  • Service d'annuaire (tel que LDAP et Open Directory)

  • Sécurité > Si vous souhaitez créer des applications qui peuvent tirer pleinement parti des fonctionnalités d'OS X, vous devez être prêt à prendre en charge l'utilisation de bibliothèques de codes non-Objective-C.

  • Code C ++ dans les applications Macintosh Objective-C

Objective-C fournit des fonctionnalités orientées objet pour le développement d'applications Macintosh, telles que l'héritage et le polymorphisme. Le langage est basé sur le langage de programmation C; par conséquent, vous pouvez utiliser vos connaissances en programmation C pour coder dans Objective-C. Objective-C ++ est un mécanisme de pont qui permet aux modules sources Objective-C de fonctionner avec les classes Objective-C ++, qui pourraient compiler et lier avec les bibliothèques de code C ++.

L'exemple simple suivant d'une matrice carrée montre le contenu d'un fichier d'en-tête C ++ pour une classe Matrix. La classe Matrix est fournie avec le constructeur et le destructeur standard pour une classe C ++, et les méthodes sont ce que vous attendez d'un objet de base de la matrice carrée:

class Matrix {public: Matrix (int inSize); virtuel ~ Matrix (); int getSize (void); int getDeterminant (vide); void setElement (int dansRow, int inCol, int inValue); int getElement (int inRow, int inCol); Opérateur matriciel + (const Matrix & inAddend); private: int m_size; int [] [] m_elements;};

Pour utiliser Objective-C ++, vos modules de classe Objective-C ++ doivent utiliser l'extension de fichier. mm. Ceci indique au compilateur de Xcode que la classe doit être compilée en utilisant Objective-C ++, ce qui permettra à votre classe d'utiliser des mots-clés en langage C ++. En utilisant Objective-C ++, votre application pourrait créer un objet Matrix pour effectuer des opérations de base, telles que l'ajout de deux objets Matrix ensemble. Cela suppose que le module source Objective-C ++ a #importé la matrice C ++. h fichier:

- (void) addTwoMatrices {Matrix matrixOne (3); // matrice 3x3 matrice matriceTwo (3); // un autre int rowIndex = 0; int colIndex = 0; pour (rowIndex = 0; rowIndex <3; ++ rowIndex) {pour (colIndex = 0; colIndex <3; ++ colIndex) {// définir les éléments de la matrice à leurs valeurs matrixOne. setElement (rowIndex, colIndex, XXX); // Définit les éléments de la matrice deux sur d'autres valeurs matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matriceUn + matriceTwo;

Avec Objective-C ++, vos applications peuvent tirer parti de toutes les bibliothèques tierces disponibles écrites pour C ++.

Mac Développement d'applications pour Dummies Cheat Sheet - nuls

Le choix des éditeurs

Création d'un trépied de fortune pour votre Canon EOS 6D - mannequins

Création d'un trépied de fortune pour votre Canon EOS 6D - mannequins

Votre Canon EOS 6D peut capturer des images dans conditions de très faible luminosité. Cependant, parfois, vous ne pouvez absolument pas vous passer d'un trépied. Mais que faites-vous quand vous avez quitté la maison sans un? Voici quelques façons de stabiliser votre appareil photo sans trépied: Passez en mode Live View et placez ...

Comment corriger le vignettage de l'objectif avec correction d'éclairage périphérique sur votre Canon EOS Rebel T6 / 1300D - les mannequins

Comment corriger le vignettage de l'objectif avec correction d'éclairage périphérique sur votre Canon EOS Rebel T6 / 1300D - les mannequins

Certains objectifs de votre Rebel T6 produisent des images qui apparaissent plus sombres sur les bords du cadre qu'au centre, même si l'éclairage est constant. Ce phénomène porte plusieurs noms, mais les deux entendus le plus souvent sont le vignettage et la chute de lumière. La quantité de vignettage dépend de l'objectif, de l'ouverture ...

Créer des paramètres de balance des blancs personnalisés sur un Canon 60D - mannequins

Créer des paramètres de balance des blancs personnalisés sur un Canon 60D - mannequins

Si aucune option de balance des blancs prédéfinie sur votre Canon EOS 60D produit la bonne quantité de correction des couleurs, vous pouvez créer votre propre, réglage personnalisé. Pour utiliser cette technique, vous avez besoin d'un morceau de papier cartonné qui est soit neutre gris ou blanc absolu - pas blanc coquille d'oeuf, blanc sable, ou tout autre proche mais pas parfait ...

Le choix des éditeurs

Exportation de tables Access 2007 vers d'autres formats de fichiers - mannequins

Exportation de tables Access 2007 vers d'autres formats de fichiers - mannequins

Alors que tous les objets Microsoft Access 2007 peuvent être exportés, L'exportation des données dans une table ou une requête vers un autre programme, tel qu'une feuille de calcul, est la tâche d'exportation la plus courante. L'exportation d'une table ou d'une requête implique la réorganisation des données qu'elle contient dans un format différent. Comme pour l'importation, Access peut traduire les données ...

Création d'un champ calculé avec Access 2007 - mannequins

Création d'un champ calculé avec Access 2007 - mannequins

Un champ calculé extrait des informations d'un autre champ de Microsoft Access Base de données 2007 et effectue une certaine arithmétique pour trouver de nouvelles informations. En fait, un champ calculé peut prendre des données de plus d'un champ et combiner des informations pour créer un champ entièrement nouveau si c'est ce que vous voulez. Vous pouvez effectuer ...

Création d'une clé primaire dans Access 2002 - mannequins

Création d'une clé primaire dans Access 2002 - mannequins

La clé primaire d'une table est un champ spécial de vos tables. À peu près toutes les tables que vous créez devraient avoir une clé primaire. Pourquoi? Il organise vos données en identifiant de manière unique chaque enregistrement. Par exemple, sur une table Customer, le numéro de client serait la clé primaire - il n'y a qu'un seul numéro de client 1, un ...

Le choix des éditeurs

Livrer un message dans la nature morte Photographie avec technique - des nuls

Livrer un message dans la nature morte Photographie avec technique - des nuls

Pour créer des photos personnelles et artistiques ne se limitent pas au but ou à la fonction d'un sujet de nature morte. Au lieu de cela, vous obtenez une licence de création complète pour créer des images basées sur ce que vous avez à dire sur quelque chose. Le moyen de donner vie à votre vision est d'utiliser la technique. Éclairez vos natures mortes d'une manière ...

Inconvénients des caméras Super-Zoom pour la photographie HDR - les nuls

Inconvénients des caméras Super-Zoom pour la photographie HDR - les nuls

Il y a un million et un choix d'appareils photo et d'engrenages pour la photographie à plage dynamique élevée. Une catégorie est celle des appareils photo numériques compacts haut de gamme, également appelés super-zoom, ou dSLR. Voici les inconvénients de dépenser plus d'argent pour obtenir une caméra plus performante: Pas de reflex numérique: Au fur et à mesure que le coût augmente, vous approchez du prix ...

DIY: créer un petit ensemble Studio - les mannequins

DIY: créer un petit ensemble Studio - les mannequins

Sont souvent créés en studio et en studio sur un plateau de table. Il y a plusieurs façons de construire ce type d'ensemble. Un rouleau de papier blanc, gris, noir ou coloré peut fournir le fond transparent dont vous avez besoin. Le papier est soulevé au-dessus de la table (tenu par deux ...