将数组快速保存到领域数据库中

国王

我有一个使用领域数据库来持久化数据的应用程序,一切正常,但我现在遇到的问题是我想将photo: Data数组保存到数据库中,我尝试使用标准的 swift 数组格式,但在构建时出错。下面是我的代码

class TodoListModel: Object {

    @objc dynamic var id = UUID().uuidString
    @objc dynamic var photo: Data? = nil
    @objc dynamic var createdDate: Date?

    override static func primaryKey() -> String? {
        return "id"
    }
    let parentCategory = LinkingObjects(fromType: CategoryModel.self, property: "items")

}

我现在如何把它photo变成一个数组

这就是我创建列表的方式

func createTodoList(createdDate: Date, photo: Data) -> Void {

            let todoList = TodoListModel()
            todoList.createdDate = createdDate
            todoList.photo = photo
            TodoListFunctions.instance.addData(object: todoList)

    }

更新模型

func updateTodoList(update: TodoListModel, createdDate: Date, photo: Array<Data>) -> Void {
                    update.createdDate = createdDate
                    update.photo.append(objectsIn: photo)

    }
大卫牧羊人

为了能够DataObject子类的单个属性中存储多个类型的对象,您需要使用List.

class TodoListModel: Object {

    @objc dynamic var id = UUID().uuidString
    @objc dynamic var createdDate: Date?
    let photos = List<Data>()
    let parentCategory = LinkingObjects(fromType: CategoryModel.self, property: "items")    

    override static func primaryKey() -> String? {
        return "id"
    }

}

然后你可以创建一个TodoListModel这样实例:

func createTodoList(createdDate: Date, photos: Array<Data>? = nil) -> Void {
    let todoList = TodoListModel()
    todoList.createdDate = createdDate
    if let photos = photos {
        todoList.photos.append(objectsIn: photos)
    }
    TodoListFunctions.instance.addData(object: todoList)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章