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 2025

Vidéo: iOS Tutorial (2019): How To Make Your First App 2025
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

En intégrant le cyclisme dans votre routine - les mannequins

En intégrant le cyclisme dans votre routine - les mannequins

Avec un peu de réflexion, le cyclisme s'adapte facilement à votre emploi du temps. Faites de l'exercice sain et économisez du temps et de l'argent. Voici quelques conseils pour faire du cyclisme une partie de votre routine hebdomadaire: Ce n'est pas tout ou rien: vous n'avez pas besoin de faire la navette tous les jours si cela vous semble trop long. Prévoyez ...

Rassemblement Matériel essentiel pour les promenades à vélo - mannequins

Rassemblement Matériel essentiel pour les promenades à vélo - mannequins

Les choses peuvent parfois mal tourner en vélo pour transporter avec vous quelques pièces simples de sorte que vous puissiez faire face aux problèmes que vous êtes le plus susceptible de rencontrer. Pour les longs trajets, vous aurez besoin de quelques extras pour tirer le meilleur parti de votre voyage. ...

S'entraîner avec des équipements de cyclisme - des mannequins

S'entraîner avec des équipements de cyclisme - des mannequins

Comme toute activité, vous devez rassembler certaines pièces d'équipement pour obtenir le plus du cyclisme et de rester en sécurité pendant que vous le faites. Assurez-vous que les pièces suivantes sont sur votre liste de courses lorsque vous sortez pour acheter votre vélo: Casque: Le port du casque n'est pas obligatoire mais la plupart des gens ...

Le choix des éditeurs

En utilisant le menu Select pour affiner les sélections dans Photoshop Elements 9 - les nuls

En utilisant le menu Select pour affiner les sélections dans Photoshop Elements 9 - les nuls

Vous pouvez utiliser le Sélectionnez le menu dans Photoshop Elements pour modifier et affiner les sélections en agrandissant, en réduisant, en adoucissant, en inversant, en agrandissant et en saisissant des pixels de même couleur. Sélectionner tout ou rien Les commandes Sélectionner tout et Désélectionner sont des commandes simples. Pour sélectionner tout dans votre image, choisissez Sélectionner → Tout ou appuyez sur Ctrl + A (cmd + A sur le Mac). Pour ...

Afficher plusieurs documents dans Photoshop Elements 10 - des mannequins

Afficher plusieurs documents dans Photoshop Elements 10 - des mannequins

Pour travailler sur n'importe quelle image dans l'un des éditeurs. Vous devez vous familiariser avec le déplacement de l'interface Éléments et l'affichage des photos dans la fenêtre principale de l'image. En mode Édition complète, vous remarquerez que lorsque plusieurs images sont ouvertes, leurs noms de fichiers sont répertoriés en haut de la fenêtre d'image. ...

Travaillant avec Adobe Premiere Elements - les mannequins

Travaillant avec Adobe Premiere Elements - les mannequins

Plusieurs options dans les panneaux Partager et Créer nécessitent Adobe Premiere Elements. Les éléments dénommés Graver DVD vidéo / BluRay, Partage vidéo en ligne et Téléphones mobiles et lecteurs requièrent tous Adobe Premiere Elements. Si l'un de ces éléments vous intéresse, vous pouvez télécharger un essai gratuit d'Adobe Premiere Elements et utiliser ...

Le choix des éditeurs

Cisco Networking: Connexion via un câble de survol - Les nuls

Cisco Networking: Connexion via un câble de survol - Les nuls

Vous permettent probablement de configurer votre appareil Cisco une connexion directe par câble série via un câble Cisco de survol - le câble bleu étrange que vous obtenez avec chacun de vos périphériques gérés, comme indiqué dans l'illustration suivante. Pour utiliser ce câble, vous devez avoir un port série à 9 broches sur ...

Cisco Networking: conversion binaire en base 16 (hexadécimal) - nuls

Cisco Networking: conversion binaire en base 16 (hexadécimal) - nuls

La conversion de binaire Base 16 (hexadécimal) est plus facile que la conversion binaire en décimal. La chose la plus étrange à propos de l'hexadécimal est qu'il y a plus de dix nombres (zéro à neuf), donc vous devez utiliser les caractères supplémentaires suivants: A (10), B (11), C (12), D (13), E (14) et F (15) ...

Cisco Networking: Convertir binaire en base 8 (octal) - mannequins

Cisco Networking: Convertir binaire en base 8 (octal) - mannequins

Conversions binaires en octales sont en fait assez facile, plus facile que binaire à base de conversion 10. Cela est dû au fait que les nombres octaux peuvent être gérés en regroupant simplement vos nombres binaires en ensembles de trois. Par exemple, commencez par le nombre binaire 11010011 de la section précédente, résultat de la conversion de ...