快速更新一系列项目

时间:2018-10-11 13:30:14

标签: swift realm realm-list

我正在尝试更新带有数组的真实数据库的内容。我想更新存储在其中的数组,下面是我的代码

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)
}

1 个答案:

答案 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,也无需写出返回值。