我正在尝试将 Codable 模型添加到领域数据库。该模型有效并且值通过 API 调用传递,但是我想在我的 Realm 数据库中创建一个 Array ,所以当我点击保存按钮,将模型添加到数据库。
我如何在创建过程中遇到此错误
无法转换“数据”类型的值?预期参数类型 “对象”
func create<T: Object>(_ objects: [T]) where T: Codable {
do {
let placesData = try? JSONEncoder().encode(objects)
try realm.write {
realm.add(placesData)
}
} catch {
}
}
保存UserDefaults就是这样
private func putModelArray<T>(_ value: [T]?, forKey key: String) where T: Codable {
guard let value = value else {
storage.removeObject(forKey: key)
return
}
let placesData = try? JSONEncoder().encode(value)
storage.setValue(placesData, forKey: key)
}
答案 0 :(得分:0)
此
realm.add(placesData)
在向其发送object
时接受一个Data
参数
如果您是从json中获取数据的,则使用Decodable并不意味着您必须使用Encodable