gpt4 book ai didi

ios - 从 nsdictionary 获取一个值

转载 作者:行者123 更新时间:2023-11-28 22:24:43 28 4
gpt4 key购买 nike

我想从我的 NSDictionary 中提供一个键值并获取与之关联的值。我有这个:

NSArray *plistContent = [NSArray arrayWithContentsOfURL:file];
NSLog(@"array::%@", plistContent);

dict = [plistContent objectAtIndex:indexPath.row];

cell.textLabel.text = [dict objectForKey:@"code"];

使用plistContent:

(
{
code = world;
key = hello;
},
{
code = 456;
key = 123;
},
{
code = 1;
key = yes;
}
)

那么如何通过给字典“world”来获得“hello”呢?

最佳答案

如果我对你的问题的理解正确,你想找到“code”=“world”的字典以获得“key”的值。

如果要保持数据结构不变,则必须执行顺序搜索,一种方法很简单:

NSString *keyValue = nil;
NSString *searchCode = @"world";
for (NSDictionary *dict in plistContents) {
if ([[dict objectForKey:@"code"] isEqualToString:searchCode]) {
keyValue = [dict objectForKey:@"key"]); // found it!
break;
}
}

但是,如果您进行大量此类搜索,那么您最好重新组织数据结构,使其成为字典的字典,以“代码”值为键,像这样转换它:

NSMutableDictionary *dictOfDicts = [[NSMutableDictionary alloc] init];
for (NSDictionary *dict in plistContents) {
[dictOfDicts setObject:dict
forKey:[dict objectForKey:@"code"]];
}

(请注意,如果其中一个词典不包含“代码”条目,代码将会中断)。

然后查找就像这样简单:

NSDictionary *dict = [dictOfDicts objectForKey:@"world"]);

这将是“死的快”。

关于ios - 从 nsdictionary 获取一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299764/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com