gpt4 book ai didi

ios - 将值附加到数据数组并保存在 Userdefault swift 中

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

我正在尝试向数组添加一个值并将其存储在 userdefaults 中,但是在尝试将新值附加到提取的值时我遇到了错误。下面是我的代码。

private func putArray(_ value: GMSAutocompletePrediction?, forKey key: String) {
guard let value = value else {
return
}
let newArray = getArray(forKey: key)?.append(value) // error here

storage.setValue(NSKeyedArchiver.archivedData(withRootObject: value), forKey: key)
}

private func getArray(forKey key: String) -> [GMSAutocompletePrediction]? {
guard let data = storage.data(forKey: key) else { return nil}
return NSKeyedUnarchiver.unarchiveObject(with: data) as? [GMSAutocompletePrediction]
}

下面是我的错误

Cannot use mutating member on immutable value: function call returns immutable value

最佳答案

问题是 getArray(forKey: key)? 是不可变的,你不能将 append 直接附加到它,所以你需要

var newArray = getArray(forKey: key) ?? []
newArray.append(value)

关于ios - 将值附加到数据数组并保存在 Userdefault swift 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58116622/

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