J'ai une méthode qui reçoit un NSArray
de Class
objets et j'ai besoin de vérifier si ils sont tous à l' Class
type généré avec le code ci-dessous:
NSMutableArray *arr = [[NSMutableArray alloc] init];
[arr addObject:[NSObject class]];
[arr addObject:[NSValue class]];
[arr addObject:[NSNumber class]];
[arr addObject:[NSPredicate class]];
[arr addObject:@"not a class object"];
Le problème est qu' Class
n'est pas un objectif-la classe c, c'est une struc, donc je ne peux pas utiliser juste
for (int i; i<[arr count]; i++) {
Class obj = [arr objectAtIndex:i];
if([obj isKindOfClass: [Class class]]) {
//do sth
}
}
Donc, j'ai besoin d'-je vérifier si l' obj
variable est un Class
type, je suppose qu'il sera en C
directement, mais comment puis-je le faire?
Il va être un plus si la réponse fournissent également un moyen de vérifier si l'élément du tableau est NSObject
, comme les articles dans le code de l'exemple, l' NSPredicate
serait également true
de la NSObject
vérifier