iOS: Comment vérifier une Classe donnée est une sorte de classe UIViewController?
Je suis en train d'écrire une méthode qui renvoie une vue de l'instance de contrôleur pour une vue donnée contrôleur de classe, mais je dois m'assurer que la classe a réussi à est en fait une vue de contrôleur de classe:
- (UIViewController *)viewControllerWithClass:(Class)cls nibName:(NSString *)nibName
{
if (cls is kind of UIViewController subclass)
return [[[cls alloc] initWithNibNamed:nibName bundle:nil] autorelease];
return nil;
}
Je ne peut pas comparer le nom de la classe depuis cls
peut pas être UIViewController.
edit:
Désolé je voulais dire à l'intérieur de la méthode, comment puis-je vérifier si cls
est une sorte de sous-classe UIViewController
OriginalL'auteur hzxu | 2013-03-19
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Hasintha Janka
vous pouvez utiliser le code ci-dessous.
OriginalL'auteur Yashesh
Si vous avez un objet de classe représentant l'Objective-C classe à tester puis utilisez
+ (BOOL)isSubclassOfClass:(Classe)classe
qui retourne une valeur Booléenne qui indique si le récepteur est une instance de classe ou une instance d'une classe qui hérite de cette classe. (requis)MODIFIER
Si vous avez un objet de classe qui est une sous-classe de la—ou identique à la classe à tester puis utilisez
+ (BOOL)isSubclassOfClass:(Classe)classe
qui retourne une valeur Booléenne qui indique si le récepteur de classe est une sous-classe de la, ou identique à une classe donnée.OriginalL'auteur βhargavḯ
OriginalL'auteur Dipen Panchasara
Cette réponse arrive un peu tard, mais puisque vous voulez vérifier la classe d'un Objet de Classe (pas une instance d'une classe), voici le test approprié:
UIViewController
, ils veulent savoir si c'estUIViewController
ou une sous-classe de celle-ciOriginalL'auteur Alan M