我有一个数组,它有很多来自 API 的字典键。我的数组如下
字典键数组:
NSArray *arr = @[@"01", @"02", @"03"];
键值对字典
NSDictionary *dic = @{@"01": @"Hero", @"02" : @"Enemy", @"03" : @"Boss"};
基本上我想在不使用数组的情况下匹配对应于字典键的数组值。我找到了一个解决方案,但我不想对每个单元格都使用 for 循环(我有很多单元格)。我的解决方案是这样的
for(NSString *item in arr) {
[convertedArr addObject:[dic valueForKey:item]];
}
NSLog(@"%@", [convertedArr componentsJoinedByString:@","]);
假设有一个这样的数组 (1,2,3) 和字典看起来像 {1 = "a", 2 = "b", 3 = "c"} 我只想给出一个数组,它应该返回像这样的字典值 ("a","b","c")
有人应该给我更好的方法而不使用数组吗?谢谢。
最佳答案
您可以将您的 for 循环替换为
NSArray *convertedArr = [dic objectsForKeys:arr notFoundMarker:@""];
这至少是 更少的代码。 (notFoundMarker:
是为所有键添加的
在字典中不存在的数组中。你的代码会崩溃
在那种情况下。)
它的性能可能会稍微好一些,因为它是一个库
功能。但我怀疑差异是否很大,因为无论如何都是字典
arr
中的所有键都需要循环。
关于ios - 与数组一起使用的字典键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698987/