У меня есть метод, который получает 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
, но как я могу это сделать?
Будет плюсом, если answer также предоставляет способ проверить, является ли элемент в массиве NSObject
, как элементы в примере кода, NSPredicate
также будет истинным
для проверка NSObject