保存NSDictionary的一部分

时间:2010-10-12 15:48:55

标签: objective-c ios4 nsdictionary

我有NSDictionary NSStringNSArray

我必须在不知道密钥的情况下仅保存变量中的NSArray

这可能吗?

1 个答案:

答案 0 :(得分:1)

如果我正确理解你,你有一个包含NSString和NSArray的字典,你想要只提取NSArray,而不知道密钥是什么。

这样做的一种方法是使用快速枚举来查看字典:

NSString *key;
for(key in someDictionary){
     id someObject = [someDictionary objectForKey: key];
}

然后查看对象以查看哪一个是NSArray:

    if ([someObject isKindOfClass:[NSArray class]]) {
        // do something with the array
    }

(强制警告:明确检查对象的类通常是设计有缺陷的标志。在大多数情况下,您应该检查行为(-respondsToSelector),而不是类别身份)