У меня есть метод, который получает NSArray
объектов Class
, и мне нужно проверить, все ли они Class
, сгенерированные с помощью приведенного ниже кода:
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"];
Проблема в том, что Class
не является классом objective-c, он является строкой, поэтому я не могу использовать только
for (int i; i<[arr count]; i++) {
Class obj = [arr objectAtIndex:i];
if([obj isKindOfClass: [Class class]]) {
//do sth
}
}
Итак, мне нужно проверить, является ли переменная obj
типом Class
, я полагаю, что она будет непосредственно в C
, но как я могу это сделать?
Это будет плюс, если ответ также даст возможность проверить, является ли элемент в массиве NSObject
, поскольку элементы в примере кода, NSPredicate
также будут true
для NSObject
проверить