任务看起来很简单:检查元素是否为Class类型,但我不知道如何。 我拥有的是一个包含不同数据的数组。例如:
NSArray *arr = @[@"name", [NSArray class]];
NSLog(@"type:%@", [arr elementByClass:[Class class]]); //expecting here "type:NSArray"
我需要获得自定义类的第一个元素。所以这是我的NSArray类别方法:
- (id)elementByClass:(Class)elementClass {
for (id obj in self) {
if([obj isKindOfClass:elementClass]){
return obj;
}
}
return nil;
}
虽然它没有编译并因错误而失败:
“接收器类型'类'不是Objective-C类”
答案 0 :(得分:3)
实际上,Class本身不是Objective-C对象。如果你真的想做你想做的事情,你可以:
#import <objc/runtime.h>
- (void)doSomething {
NSArray *arr = @[@"name", [NSArray class]];
NSLog(@"type:%@", [arr elementByClass:objc_getMetaClass("NSObject")]); //expecting here "type:NSArray"
}
我建议回答下一个问题作为进一步阅读: Are classes objects in Objective-C?
答案 1 :(得分:1)
您应该能够检查$("td > ol > li")
是否与您要查找的$("td").find("li")
完全相同:
[obj class]
我建议回答下一个问题作为进一步阅读: Are classes objects in Objective-C?