Не удается сохранить строки в CoreData - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь сохранить строки из моего массива строк в Core Data. Мой .xcdatamodel выглядит так:

.xcdatamodel

Моя функция сохранения (метод класса с именем «Память»):

func save(from: [String])
    {
        for i in 0..<from.count
        {
            let appDelegate = UIApplication.shared.delegate as! AppDelegate
            let context = appDelegate.persistentContainer.viewContext

            let saved = NSEntityDescription.insertNewObject(forEntityName: "Person", into: context)

            saved.setValue(from[i], forKey: "password")

            do
            {
                try context.save()
                print("SAVED")
            }

            catch
            {
                print("ERROR - COULDN'T SAVE ", to)
            }
        }

        print("NEW ", to, ": ")
        print(save)
    }

Наконец, внутри моего ViewController:

Memory().save(from: codes)

Однако, что я получаю, это:

Тема 1: Фатальная ошибка: Неразрешенная ошибка Ошибка Domain = NSCocoaErrorDomain Code = 134140 "Миграция постоянного хранилища не удалось, отсутствует модель отображения. " UserInfo = {sourceModel = () isEditable 1, сущности {

Person = "() name Person, managedObjectClassName NSManagedObject, renamingIdentifier Person, isAbstract 0, имя высшего уровня (ноль), свойства {\ n пароль = \ "(), имя, пароль, опция 1, isTransient 0, сущность

1 Ответ

0 голосов
/ 29 июня 2018

Вы внесли изменения в модель данных, но не смогли / забыли перенести модель. Если у вас нет ничего ценного в вашем текущем постоянном хранилище (база данных SQLite?), Тогда я предлагаю вам выбросить его и позволить Core Data создать новое с использованием новой модели.

В противном случае вы можете получить предыдущую версию вашей модели из исходного хранилища, если она у вас есть и вы выполняете правильную миграцию. Вот ТАК вопрос интереса и документация Apple по миграции

...