如何检查NSDictionary的哪些键可用?

时间:2013-05-01 05:27:34

标签: ios objective-c nsdictionary

我要做的是检查词典的深度。我的JSON有两种可能性:

stop-schedule:
   0:
      route:
   1:
      route:

stop-schedule:
   route:

所以我正在检查是否需要更深入。

通常我会做一些像

这样的事情
[dict objectForKey:@"0"]

检查密钥是否存在(如果没有则返回nill)但是由于某种原因我在iOS上测试时遇到错误。

[__NSCFArray objectForKey:]: unrecognized selector sent to instance

1 个答案:

答案 0 :(得分:5)

现在仔细阅读错误消息。


你的dict不是字典而是数组。它没有钥匙。如果你想确定它是某个类,请使用反射:

if ([json isKindOfClass:[NSDictionary class]]) {
    // object
} else if ([json isKindOfClass:[NSArray class]]) {
    // array
} else {
    // fragment or `nil`
}