更改NSDictionary的结构

时间:2015-09-07 05:10:04

标签: ios objective-c nsarray nsmutabledictionary

我有一个包含这样字典的数组:

这是我的代码:其中键是objs是“ABC”,“SKY”,键是“T-4112-561-560.ts”,“T-4112-561-561.ts”

 array = [NSMutableArray array];

        [array addObjectsFromArray: keys];
        [array addObjectsFromArray: objs];

 NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjects: keys forKeys: objs];

[myArray addObject:[dict copy]];

这是我的输出:

2015-09-07 10:25:21.329 XBMC Remote[1082:454537] myArray:
(
        {
        ABC = "T-4112-561-560.ts";
    },
        {
        SKY = "T-4112-561-561.ts";
    }
)

我需要得到这样的输出:

(
        {
        Name=ABC; 
        value= "T-4112-561-560.ts";
    },
        {
        Name=SKY;
        value = "T-4112-561-561.ts";
    }
)

1 个答案:

答案 0 :(得分:1)

有很多方法可以实现这一点,但基本上所有方法都将循环遍历数组,提取字典值。您可以使用许多便捷方法,例如enumerateObjectsUsingBlock,但为了简单起见,以下代码使用简单的for枚举循环 -

NSMutableArray *outputArray=[NSMutableArray new];


for (NSDictionary *dict in myArray) {
    NSMutableDictionary *outputDictionary=[NSMutableDictionary new];
    for (NSString *key in dict.allKeys) {
        NSString *value=dict[key];
        outputDictionary[@"name"]=key;
        outputDictionary[@"value"]=value;
    }
    [outputArray addObject:outputDictionary];
}
相关问题