descargar - ios 11 para iphone 5
iPhone cómo comprobar el tipo de un objeto? (3)
Hay algunos métodos en NSObject que le permiten verificar clases.
Primero hay una -class
que devolverá la Clase de tu objeto. Esto devolverá AViewController o BViewController.
Luego hay dos métodos, -isKindofClass:
y isMemberOfClass:
-isKindOfClass:
comparará el receptor con la clase pasada como argumento y devolverá verdadero o falso en función de si la clase es del mismo tipo o una subclase de la clase dada.
-isMemberOfClass:
comparará el receptor con la clase pasada como argumento y devolverá verdadero o falso en función de si la clase es estrictamente la misma clase que la clase dada.
Quiero verificar el tipo de un Objeto. ¿Cómo puedo hacer eso?
El escenario es que estoy obteniendo un objeto. Si ese objeto es de tipo A, entonces realiza algunas operaciones. Si es de tipo B, entonces realiza algunas operaciones. Actualmente, el tipo de objeto es C que es padre de A y B.
Tengo dos clases AViewController
y BViewController
. El objeto que estoy recibiendo en UIViewController
. Ahora, ¿cómo verificar si el objeto es AViewController
o BViewController
?
Un patrón más común en Objective-C es verificar si el objeto responde a los métodos que le interesan. Ejemplo:
if ([object respondsToSelector:@selector(length)]) {
// Do something
}
if ([object conformsToProtocol:@protocol(NSObject)]) {
// Do something
}
if([some_object isKindOfClass:[A_Class_Name class]])
{
// do somthing
}