ios - 与数组一起使用的字典键值

标签 ios objective-c arrays

我有一个数组,它有很多来自 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/

相关文章:

ios - 开发新版本的 iOS 应用程序。需要新的 bundle ID?

iphone - 如何将图像保存到相机胶卷?

ios - 如何在 swift 中以编程方式实现具有多个原型(prototype)单元格的 UITableViewController

ios - 如果语句未命中则编码

C++ for循环二维数组

c - 使用指针对c中的字符串数组进行排序

ios - Twisted Server/iOS 客户端发送和接收图像

iphone - 尝试从图像 I/O 创建 AspectRatioThumbnail 时出错

ios - 使用 HealthKit 的异常

javascript - 单个数组中的 Json 对象,需要使用 key meta_value 拆分键上的值