Проблема при добавлении данных в базовые данные - ноль не является допустимым параметром - PullRequest
0 голосов
/ 08 сентября 2018

Я получаю эту ошибку:

2018-09-08 17: 53: 36.795035 + 0200 Movie Roulette [826: 263749] [ошибка] ошибка: не удалось загрузить модель с именем ett CoreData: ошибка: не удалось загрузить модель с именем ett 2018-09-08 17: 53: 36.796536 + фильм 0200 APP [826: 263749] *** Завершение приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «+ entityForName: nil не является допустимый параметр NSManagedObjectContext, ищущий имя сущности 'MovieData' '

Может быть, некоторые из вас помогут мне решить эту проблему. Я искал и прочитал, что я должен создать NSManagedObjectContext. Я создал это в своей функции, но все еще получаю эту ошибку.

func save(name: String) {
    guard let appDelegate =
        UIApplication.shared.delegate as? AppDelegate else {
            return
    }

    // 1
    let managedContext =
        appDelegate.persistentContainer.viewContext
    // 2
    let entity =
        NSEntityDescription.entity(forEntityName: "MovieData",
                                   in: managedContext)!

    let MovieDT = NSManagedObject(entity: entity,
                                  insertInto: managedContext)

    // 3
    MovieDT.setValue(name, forKeyPath: "titel")

    // 4
    do {
        try managedContext.save()
        movieArray.append(MovieDT)
    } catch let error as NSError {
        print("Could not save. \(error), \(error.userInfo)")
    }
}

1 Ответ

0 голосов
/ 08 сентября 2018

Эта проблема может возникнуть только в случае изменения названия модели, здесь в AppDelegate

let container = NSPersistentcontainer(name:"thisMayChanged")
container.loadPersistentStores......

ясно при аварии

CoreData: ошибка: не удалось загрузить модель с именем ett

и название проекта - Приложение Кино

Приложение к фильму [826: 263749]

вы изменили оригинальное имя на ett, так как по умолчанию оно должно быть Movie_APP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...