我有一个接收的方法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"];
Run Code Online (Sandbox Code Playgroud)
问题是,这Class不是一个客观的c类,它是一个结构,所以我不能只使用
for (int i; i<[arr count]; i++) {
Class obj = [arr objectAtIndex:i];
if([obj isKindOfClass: [Class class]]) {
//do sth
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我需要检查obj变量是否是一个Class类型,我想它会直接进入C,但我该怎么做呢?
如果答案还提供了一种方法来检查数组中NSObject的项是否为a ,如示例代码中的项目,那么这将是一个加号,NSPredicate也将true用于NSObject检查
请遵守此方法声明:
NSString *NSStringFromClass(Class aClass);
Run Code Online (Sandbox Code Playgroud)
我想了解这个Class课程,但我找不到关于它的文档,因为我不知道如何创建一个足够好的正则表达式并用它来谷歌.类名是事实Class,而不是NSClass让我觉得Class是不是一个真正的类(像java.lang.Class).但是,我不知道,所以我想研究这个.但是,我找不到文档.
如果我需要问一个具体问题:obj-c中的"Class"是一个真正的类吗?它的方法和属性是什么?