Accueil Médias sociaux Fonctionnement d'Introspection dans iOS Apps - Les nuls

Fonctionnement d'Introspection dans iOS Apps - Les nuls

Table des matières:

Vidéo: Thrive : l'application pour réduire l'addiction aux autres applications 2025

Vidéo: Thrive : l'application pour réduire l'addiction aux autres applications 2025
Anonim

L'introspection fait référence aux fonctionnalités d'une application iOS langage de programmation pour examiner la structure et d'autres détails d'un objet et de sa classe au moment de l'exécution. Ces détails peuvent inclure:

  • Arbre d'héritage d'un objet

  • S'il est conforme à un protocole spécifique

  • S'il répond à un certain message

Lorsque vous savez de quoi un objet est fait, vous pouvez construire des messages par programme à envoyer, ce qui rend votre programme beaucoup plus dynamique.

Comment obtenir la classe d'un objet

Vous pouvez obtenir la classe d'un objet lors de l'exécution. En fait, Objective-C traite les classes comme des objets de première classe. Chaque objet de classe pointe vers une structure de données en mémoire, possède une superclasse (connue sous le nom de métaclasse) et peut répondre à des messages qui invoquent des méthodes.

Lorsque vous appelez une méthode de classe, vous envoyez réellement un message à l'objet de la classe.

Vous pouvez obtenir une référence à l'objet de classe pour la classe en envoyant à la classe un message de classe (Garçon, était-ce déroutant d'écrire?), Et vous obtenez la superclasse d'une classe en envoyant le objecter un message de superclasse. Par exemple, vous pouvez imprimer la classe et la superclasse d'un objet, tel qu'un objet StackOfInteger, comme suit:

StackOfInteger * aStack = [[StackOfInteger alloc] init]; NSLog (@ "La classe est% @, et super est% @.", [AStack class], [aStack superclass]);

Comment appeler dynamiquement les méthodes

Vous pouvez ensuite appeler une méthode sur un objet de classe comme ceci:

Classe postfixCalculatorClass = [someObject class]; [postfixCalculatorClass performSelector: @selector (printClassDescription)];

Deux éléments doivent être expliqués ici. Tout d'abord, le @selector est une directive de compilation -time et renvoie un pointeur vers la méthode printClass. Ensuite, vous pouvez utiliser performSelector pour appeler cette méthode.

Dans l'exemple précédent, le nom de la méthode a été traduit en un pointeur vers la méthode au moment de la compilation. Vous pouvez également appeler une méthode d'instance sur un objet en utilisant le nom de chaîne d'une méthode, lors de l'exécution, comme suit:

SEL printClassDescriptionSEL = NSSelectorFromString (@ "printClassDescription"); [postfixCalculatorClass performSelector: printClassDescriptionSEL];

Dans cet exemple, vous pouvez utiliser le type SEL (également appelé sélecteur dans le langage Objective-C, et donc le SEL) pour contenir la représentation interne d'une méthode.

Comment vérifier la spécification d'un objet

Une fois que vous avez un handle pour un objet de classe, vous pouvez l'examiner à l'exécution en utilisant les fonctions d'introspection fournies dans Objective-C.Par exemple, vous pouvez tester cet objet pour voir de quel type il s'agit. Vous pouvez l'inspecter pour voir s'il a une certaine méthode ou un certain attribut, et ainsi de suite.

Le tableau ci-dessous montre toutes les méthodes pour tester la structure et les capacités d'un objet de classe et pour effectuer des actions sur celui-ci.

Méthode Question ou Action
- (BOOL) isKindOf: class-object L'objet est-il un membre ou un descendant d'une classe?
- (BOOL) isMemberOf: class-object L'objet est-il membre d'une classe?
- (BOOL) répond à: sélecteur L'objet peut-il répondre à une méthode?
+ (BOOL) instancesRespondTo: selector Les instances de la classe peuvent-elles répondre à un message?
- (id) exécute: sélecteur Applique la méthode spécifiée par le sélecteur.
+ (BOOL) conformsToProtocol: (Protocole *) aProtocol OUI si le destinataire est conforme au protocole aProtocol; sinon, NON.

Pour plus de détails sur l'introspection et son utilisation, consultez le document Apple iOS Runtime Reference et le Guide de programmation d'Apple Developer Objective-C.

Fonctionnement d'Introspection dans iOS Apps - Les nuls

Le choix des éditeurs

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...