¿Cuál es la diferencia entre estos controles de herencia?

He visto ejemplos de código Objective-C aparentemente haciendo las mismas / similares verificaciones usando diferentes métodos. Quiero saber cuál es la diferencia en estos:

isKindOfClass

isMemberOfClass

isSubclassOfClass

Por favor, mencione también si hay un cheque que no he mencionado aquí, porque estoy aprendiendo y tengo un dominio muy pobre en las cosas en este momento.

preguntado el 28 de agosto de 11 a las 02:08

Esta pregunta te ayudará: stackoverflow.com/questions/2045561/… -

2 Respuestas

Estos son ambos métodos de instancia:

isKindOfClass: ¿Es el objeto una instancia de una clase o una instancia de una subclase de esa clase? isMemberOfClass: ¿El objeto es una instancia de una clase? (No incluye subclases).

Mientras que el último es un método de clase, (p. Ej. [NSString isSubclassOfClass:[NSObject class]]).

isSubclassOfClass: Es una clase igual a otra clase, o una subclase de esa clase?

Respondido 15 Jul 14, 22:07

Hay tantos enlaces en Google y, especialmente, se ha pedido en stackoverflow muchas veces, verifique mi enlace agregado en el comentario y,

Diferencia del SDK de iPhone entre isKindOfClass e isMemberOfClass

Intenta leer su documentación también, eso te ayudará mucho.

Editado

Digamos que tienes un nombre de clase External y dentro External clase tienes una subclase llamada Internal. Espero que tenga idea de que la clase puede tener una subclase que puede acceder a las propiedades de una clase principal. así que con este método puedes preguntar a un Internal clase que, ¿Eres una subclase de la clase Externa?

[Internal isSubclassOfClass:External]

Y el valor de retorno será BOOL

  • SÍ si la clase receptora es una subclase de —o idéntica a— una clase, de lo contrario NO.

Más lectura está disponible en el sitio web de documentación de Apple

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html

contestado el 23 de mayo de 17 a las 14:05

de acuerdo, pero ¿qué pasa con isSubclassOfClass - Java Ka Baby

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.