Я борюсь с основными данными. Я получаю печально известную ошибку «Не удалось вызвать назначенный инициализатор в классе NSManagedObject». Для новичка, который читает документацию, начатую из стандартного шаблона в Xcode 4.2, наличие / возникновение этой ошибки не имеет никакого смысла.
Как может произойти сбой при инициализации управляемого объекта?
Я не изменял свои сгенерированные классы из модели каким-либо образом. Это означает, что я не переопределял этот инициализатор по умолчанию (initWithEntity: insertIntoManagedObjectContext:) этих подклассов NSManagedObject. Почему бы это не было успешно названо?
Вся моя установка очень проста.
У меня есть один контекст, один координатор магазина и одна модель. Это было настроено шаблоном.
Я редактировал модель данных визуально, у меня там четыре объекта. Затем я сгенерировал четыре класса с динамическими свойствами.
Теперь единственное, что я делаю, это передаю ссылку на контекст из AppDelegate в мой пользовательский ViewConttroller. В этом пользовательском ViewController я пытаюсь добавить новую сущность в контекст Core Data.
Существует ли какая-либо методология или набор шагов, с помощью которых я могу проверить, правильно ли инициализирован весь стек данных Core? Существует ли магазин, в порядке ли контекст?
NSManagedObjectModel *managedObjectModel = [[managedContext persistentStoreCoordinator] managedObjectModel];
NSEntityDescription *entity = [[managedObjectModel entitiesByName] objectForKey:@"ComplexLocation"];
currentComplexLocation = [[ComplexLocation alloc] initWithEntity:entity insertIntoManagedObjectContext:managedContext];