Vidéo: REST ou GraphQL ? Exemples illustrés avec Symfony et API Platform - Kévin Dunglas - PHP Tour 2018 2025
Dans la programmation d'application iOS, l'introspection fait référence aux langage de programmation qui examine la structure et d'autres détails d'un objet et de sa classe lors 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. Ce serait également le moment de déterminer la classe d'un objet pour la programmation. Vous pouvez définir 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, et vous obtenez la superclasse d'une classe en envoyant à l'objet un message de superclasse. Par exemple, vous pouvez imprimer la classe et la super-classe 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]);
