【发布时间】:2019-09-26 12:16:03
【问题描述】:
我正在尝试向数组添加一个值并存储在 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]
}
下面是我的错误
不能对不可变值使用变异成员:函数调用返回不可变值
【问题讨论】:
-
创建数组为
let newArray = (getArray(forKey: key) ?? []) + [value]
标签: ios swift userdefaults