我正在尝试更新带有数组的真实数据库的内容。我想更新存储在其中的数组,下面是我的代码
class TodoListModel: Object {
@objc dynamic var id = UUID().uuidString
let photos = List<Data>()
@objc dynamic var createdDate: Date?
override static func primaryKey() -> String? {
return "id"
}
let parentCategory = LinkingObjects(fromType: CategoryModel.self, property: "items")
}
在这种情况下,只需添加新数据,而不是替换前一个数据
func updateTodoList(update: TodoListModel, createdDate: Date, photo: Array<Data>) -> Void {
update.createdDate = createdDate
update.photo.append(objectsIn: photo)
}
答案 0 :(得分:0)
如果要在TodoListModel.photos
方法中删除updateTodoList
的所有现有元素,只需要调用update.photos.removeAll
,然后将photos
输入参数的内容附加到它。
func update(todoList: TodoListModel, createdDate: Date, photos: Array<Data>) {
todoList.createdDate = createdDate
todoList.photos.removeAll()
todoList.photos.append(objectsIn: photos)
}
P.S .:我还重命名了您的函数及其输入参数,以匹配Swift命名约定和每个输入参数实际代表的数据。如果您的函数返回Void
,也无需写出返回值。