对于奇怪的标题感到抱歉......所有内容都将被解释。
基本上我在我的应用程序中有这样的数组/字典结构:
NSArray {
NSDictionary {
(NSString *)id;
(NSDictionary *)dictionary;
}
NSDictionary {
(NSString *)id;
(NSDictionary *)dictionary;
}
NSDictionary {
(NSString *)id;
(NSDictionary *)dictionary;
}
etc...
}
希望这很容易解决......
现在我有一个(NSString *)id
,我希望得到与之对应的(NSDictionary *)dictionary
。
我有什么方法可以做到这一点吗?
谢谢
汤姆
答案 0 :(得分:2)
尝试这样的事情
for (NSDictionary *dict in dictArray) { if ([[dict objectForKey:@"id"] isEqualToString:targetID]){ return [dict objectForKey:@"dictionary"]; } }
我没有编译代码(我附近没有mac),但我认为你有了这个想法。基本思想是遍历数组并比较查询字符串。但是如果你有很多项目,那么这种线性搜索可能会非常耗时。
答案 1 :(得分:2)
如果ids
是唯一的,我会使用NSDictionary
作为我的顶级对象而不是NSArray。这样你就可以做到:[dict objectForKey:stringID]
NSArray
在这里没有意义。