尝试在字典中插入字典 return nil
Try ti insert dictionary in dictionary return nil
我尝试通过将字典作为参数传递到方法中来将字典插入到字典中。我有一个字典,键为 0,1,2,...,6,它由字典组成,我尝试在新字典中获取键为 0 的字典,但新字典为零。
dictionaryWithWeekDays 包含如下内容:
0 = {
clouds = 0;
deg = 239;
dt = 1475175600;
humidity = 76;
pressure = "993.71";
speed = "3.24";
temp = {
day = "70.09";
eve = "74.73";
max = "76.64";
min = "51.53";
morn = "54.66";
night = "51.53";
};
weather = (
{
description = "light rain";
icon = 10d;
id = 500;
main = Rain;
}
);
};
1 = {
clouds = 12;
deg = 337;
dt = 1475607600;
humidity = 0;
pressure = "1012.86";
speed = "3.89";
temp = {
day = "59.59";
eve = "64.56";
max = "64.56";
min = "49.64";
morn = "49.64";
night = "54.32";
};
weather = (
{
description = "light rain";
icon = 10d;
id = 500;
main = Rain;
}
);
};
我有一个 for 循环,因为我想传递方法中的所有键。我只是像这样将我的方法调用到循环中:
for (int i = 0; i <= 6; i++) {
NSString *key = [NSString stringWithFormat:@"%i", i];
[self addValuesToArrayWithTemp:dictionaryWithWeekDays key:key index:i];
}
这是我的 addValuesToArrayWithTemp :
-(void) addValuesToArrayWithTemp:(NSDictionary *)inputDic key:(NSString *)key index:(int)ind {
NSDictionary *currentDic = [inputDic objectForKey:key];
NSLog(@"currentDic = %@", currentDic);
NSLog(@"key = %@", key);
...
...
}
(NSDictionary *)inputDic
- 没关系,它包含我之前传递的所有内容,键也可以有 @"0" 值。但 currentDic 为零。为什么??也许我误解了什么。感谢帮助!
我假设您的 dictionaryWithWeekDays 打印输出来自调试器。我相信您在 dictionaryWithWeekDays 中的键不是字符串,如果是,列表应显示“0”= 而不是 0 =
您想检查 dictionaryWithWeekDays 中键值的实际类型。
我尝试通过将字典作为参数传递到方法中来将字典插入到字典中。我有一个字典,键为 0,1,2,...,6,它由字典组成,我尝试在新字典中获取键为 0 的字典,但新字典为零。
dictionaryWithWeekDays 包含如下内容:
0 = {
clouds = 0;
deg = 239;
dt = 1475175600;
humidity = 76;
pressure = "993.71";
speed = "3.24";
temp = {
day = "70.09";
eve = "74.73";
max = "76.64";
min = "51.53";
morn = "54.66";
night = "51.53";
};
weather = (
{
description = "light rain";
icon = 10d;
id = 500;
main = Rain;
}
);
};
1 = {
clouds = 12;
deg = 337;
dt = 1475607600;
humidity = 0;
pressure = "1012.86";
speed = "3.89";
temp = {
day = "59.59";
eve = "64.56";
max = "64.56";
min = "49.64";
morn = "49.64";
night = "54.32";
};
weather = (
{
description = "light rain";
icon = 10d;
id = 500;
main = Rain;
}
);
};
我有一个 for 循环,因为我想传递方法中的所有键。我只是像这样将我的方法调用到循环中:
for (int i = 0; i <= 6; i++) {
NSString *key = [NSString stringWithFormat:@"%i", i];
[self addValuesToArrayWithTemp:dictionaryWithWeekDays key:key index:i];
}
这是我的 addValuesToArrayWithTemp :
-(void) addValuesToArrayWithTemp:(NSDictionary *)inputDic key:(NSString *)key index:(int)ind {
NSDictionary *currentDic = [inputDic objectForKey:key];
NSLog(@"currentDic = %@", currentDic);
NSLog(@"key = %@", key);
...
...
}
(NSDictionary *)inputDic
- 没关系,它包含我之前传递的所有内容,键也可以有 @"0" 值。但 currentDic 为零。为什么??也许我误解了什么。感谢帮助!
我假设您的 dictionaryWithWeekDays 打印输出来自调试器。我相信您在 dictionaryWithWeekDays 中的键不是字符串,如果是,列表应显示“0”= 而不是 0 =
您想检查 dictionaryWithWeekDays 中键值的实际类型。