Je ne veux absolument pas éveiller votre colère, mais c'était la deuxième réponse liée à iOS dans votre profil. Il me semble seulement ajouter que nous pouvons désigner une instance comme "self" à partir de sa mise en œuvre. Pourriez-vous défendre cela comme un ajout substantiel à la réponse acceptée il y a trois ans?
danh le
@danh je vois que vous me traquez. Bien pour vous!
Katedral Pillon
Désolé, j'ai juste cliqué sur celui-ci et j'ai débattu de l'opportunité de dire quelque chose. Je voulais juste faire des nervures douces, mais je sais que les esprits chauffent assez rapidement dans ces environnements semi-sans visage. Merci d'être de bonne humeur à ce sujet. (En fait, +1 pour pratiquer l'encapsulation).
Réponses:
NSStringFromClass([instance class])
devrait faire l'affaire.la source
#import <objc/objc-runtime.h>
de pouvoir appeler la classe sur une instance.si tout ce que vous voulez faire est de tester un objet pour voir s'il s'agit d'un type d'une certaine classe
la source
De l'intérieur de la classe elle-même
la source
Ajoutez simplement une catégorie:
Ensuite, utilisez le code suivant:
ou même:
Pour l'utiliser n'importe où, ajoutez la catégorie au fichier YourProject.pch.
la source
Vous pouvez aussi utiliser
[[self class] description]
la source
OBJC:
RAPIDE
De l'instance:
Du type:
la source
Si vous cherchez comment obtenir le nom de classe dans Swift, vous pouvez utiliser Reflect pour obtenir des informations sur l'objet.
la source
self.dynamicType