gpt4 book ai didi

ios - 更改字典数组中键的值

转载 作者:行者123 更新时间:2023-11-29 10:53:23 25 4
gpt4 key购买 nike

我有一个包含不同数据的数组,其中一个是以摄氏度记录的温度。当用户将默认设置更改为华氏度时,我需要在 collectionView 中显示时更改信息数组。程序编译正确,但是当 View 加载时,编译器崩溃且没有错误,只是以绿色突出显示该行并在右上角显示 Thread 1: breakpoint1.1

下面是高亮的行

[dict setObject:[NSNumber numberWithInteger:number] forKey:@"temp"];

我也只是尝试绕过这个问题但没有成功:

[dict setObject:@"11" forKey:@"temp"];

我循环遍历数组并更改数据的代码是:

changedArray = [[NSMutableArray alloc] initWithCapacity:50];
for (NSMutableDictionary *dict in locationArray) {
if ( [[dict objectForKey:@"site"] isEqual:[defaults objectForKey:@"location"]] ) {
NSInteger number = [[dict objectForKey:@"temp"] integerValue];
number = ((number * 1.8) + 32);
[dict setObject:[NSNumber numberWithInteger:number] forKey:@"temp"];
[changedArray addObject:dict];
}
}

如果我删除字典中更改温度值的三行代码,它会正确编译并运行。非常感谢这个 ios noob 的任何内部。 :-)

最佳答案

我猜你数组中的字典实例都是不可变的 NSDictionary 对象。只是类型转换不会将它们变成可变的。尝试以下操作

  1. 遍历数组
  2. 找到正确的字典
  3. 形成一个可变的NSMutableDictionary
  4. 编辑可变的
  5. 更新回数组(数组也需要是可变的)

但我的建议是始终只将温度保持在一个单位,即用户更倾向于使用的单位。只有当你需要显示它时,检查用户选择的单位进行计算并刷新它。

关于ios - 更改字典数组中键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19534606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com