将 NSMutableDictionary 的值设置为另一个中的值

Set values of NSMutableDictionary to values in another

我 post 请求从服务器检索数据。现在,我有带有某些数据的 NSDictionary。我需要在图表中显示它,所以我必须将数据转换为适当的。这是我从服务器获得的数据:

dates =     (
        "01.01.2016",
        "01.01.2016",
        "01.01.2016"
        ...) 

closes =     {
        0 =         (
            1,
            1,
            1,
            ...)
        }

我需要将其转换为这种格式:

{
    "01.01.2016" = 1;
    "01.01.2016" = 1;
    "01.01.2016" = 1;
    ...
}

我该怎么做?

NSArray *dates  = ...
NSArray *closes = ...

NSMutableDictionary *result = [NSMutableDictionary new];
for (int i = 0; i < dates.count; i++) {
    result[dates[i]] = closes[i];
}
NSLog(@"%@", result)

注意 dates 和 closes 数组的长度必须相同

假设'dates'和closes元素的个数相等:

NSMutableDictionary dataOut = [NSMutableDictionary dictionary];
for (int index = 0; index < dataIn[@"dates"].count; index++)
{
    dataOut[dataIn[@"dates"][index]] = dataIn[@"closes"][index];
}

根据您的确定程度以及您需要此代码的简单程度,您可能需要添加检查(和错误处理)以涵盖上述假设。

如果你需要2个数组并且你需要创建字典那么 _productArray2 & _productArray1

 NSDictionary * productDictionary = [NSMutableDictionary dictionary];
    for (NSUInteger index =0; index < _productArray1.count; index ++) {
        [productDictionary setValue:_productArray1[index] forKey:_productArray2[index]];
    }

如果您已经有一本字典想要替换它的设定值

NSArray * allKeys = [productDictionary allKeys];

for (NSUInteger index =0; index < allKeys.count; index ++) {
    [productDictionary setValue:_productArray[index] forKey:allKeys [index]];
}