gpt4 book ai didi

ios - NSUserDefaults 的 NSMutableArray 错误

转载 作者:行者123 更新时间:2023-11-28 09:12:24 25 4
gpt4 key购买 nike

我有这个错误,但我不明白为什么会这样。只有当我在我的 iPad 上运行该应用程序时才会发生错误,在模拟器中它很好。

我从

开始
if NSUserDefaults.standardUserDefaults().objectForKey("WeatherData")  != nil {

WeatherData = NSUserDefaults.standardUserDefaults().objectForKey("WeatherData") as NSMutableArray

DisplayInfo(WeatherData[0] as String, Temperature: WeatherData[1] as Int, Code: WeatherData[2] as String, Condition: WeatherData[3] as String)
}

最后,我替换了我的 WeatherData 数组并重新保存它。

WeatherData.replaceObjectsInRange(NSRange(0 ... 3), withObjectsFromArray: [placemark.locality, Temperature, Code, Condition])

}

NSUserDefaults.standardUserDefaults().setObject(WeatherData, forKey: "WeatherData")

我得到的错误是:

'-[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object'

我知道我的数组是 NSMutable 但 NSUserDefaults 只接受不可变的。我想做但没有成功的事情:

WeatherData.replaceObjectsInRange(NSRange(0 ... 3), withObjectsFromArray: [placemark.locality, Temperature, Code, Condition]) as NSArray 

因为我最初将我的 WeatherData 数组定义为 NSMutable。我需要创建一个新数组作为占位符吗?

提前致谢,王牌

最佳答案

NSUserDefaults 总是返回不可变对象(immutable对象)。做成这样

WeatherData = NSMutableArray(array: NSUserDefaults.standardUserDefaults().objectForKey("WeatherData"))

关于ios - NSUserDefaults 的 NSMutableArray 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28841525/

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