测试对象是否为JKArray

时间:2012-03-23 16:19:38

标签: objective-c reflection jsonkit

我想查看此次调用的结果:

NSDictionary *results = [jsonString objectFromJSONString];
id contacts=[[results objectForKey:@"list"] objectForKey:@"Contact"];

返回数组或字典。

我试过了:

    [contactdict isKindOfClass:[JKArray class]];

但JKArray在JSONKit.m文件中静态声明,因此xcode无法看到它。

2 个答案:

答案 0 :(得分:9)

这是NSClassFromString的用途:

if ([contactDict isKindOfClass:NSClassFromString(@"JKArray")])
{
    // do stuff here
}

答案 1 :(得分:1)

您可以简单地将@class JKArray;添加到您正在进行此调用的文件的顶部。这只是告诉编译器有一个名为JKArray的类。实际测试当然是在运行时进行的。

或者,您应该可以这样做:

[[contactDict className] isEqualToString:@"JKArray"];

或者这个:

[contactDict isKindOfClass:NSClassFromString(@"JKArray")];