сохранение массива в базе данных swift - PullRequest
0 голосов
/ 11 октября 2018

У меня есть приложение, которое использует базу данных областей для сохранения данных, и все работает нормально, но у меня возникла проблема: я хочу сохранить массив 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)

    }

1 Ответ

0 голосов
/ 11 октября 2018

Чтобы иметь возможность хранить несколько объектов типа Data в одном свойстве подкласса Object, вам необходимо использовать 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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...