161 votes

différence SDK iPhone entre isKindOfClass et isMemberOfClass

Quelqu'un peut-il me dire à quoi la différence entre le et le fonctions ? Je sais que c’est quelque chose de petit, comme, un est global, tandis que l’autre est une correspondance exacte de classe mais j’ai besoin de quelqu'un pour spécifier lequel est lequel s’il vous plaît.

276voto

Sebastian Celis Points 7284

isKindOfClass: rendements OUI si le récepteur est une instance de la classe spécifiée ou une instance d'une classe qui hérite de la classe spécifiée.

isMemberOfClass: rendements OUI si le récepteur est une instance de la classe spécifiée.

La plupart du temps que vous souhaitez utiliser isKindOfClass: pour vous assurer que votre code fonctionne également avec des sous-classes.

Le NSObject Protocole de Référence parle un peu plus sur ces méthodes.

84voto

jtbandes Points 39804
<ul> <li><code></code>indique si un objet <strong>hérite</strong> d’une classe donnée</li> <li><code></code>indique si un objet <strong>est une instance</strong> d’une classe donnée.</li> <hr><pre><code></code></pre></ul>

48voto

KennyTM Points 232647

Supposons que

puis

Fondamentalement, a la valeur true si l’instance est exactement de la classe spécifiée, tandis que est true si l’instance est exactement de la classe spécifiée ou si l’un des ancêtres de l’instance de la classe spécifiée.

``est rarement utilisé.

9voto

Alex Terente Points 9190

isKindOfClass: Renvoie une valeur Booléenne qui indique si l' le récepteur est une instance de la classe ou d'une instance de classe qui hérite de cette classe.

isMemberOfClass: Renvoie une valeur Booléenne qui indique si l' le récepteur est une instance d'une classe donnée.

2voto

Ishu Points 8284

isKindOfClass-> retour Oui lorsque l’objet est instance de cette classe ou une instance d’une classe héritée d’elle.

isMemberOfClass : Oui de retour lorsque l’objet est instance de cette classe, mais pas dans le cas où : instance d’une classe héritée d’elle.

exemple est assez bon en jtbandes réponse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X