Я борюсь с основными данными. Я получаю печально известную ошибку «Не удалось вызвать назначенный инициализатор в классе 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];
Можете ли вы опубликовать код, который вызывает ошибку, а также ваши созданные классы Core Data? – Tim
Я добавил код, где я пытаюсь добавить объект. –
Легче использовать удобную функцию '[NSEntityDescription insertNewObjectForEntityForName: @" ComplexLocation "inManagedObjectContext: managedContext];' Как было сказано, вы проверяли, чтобы правильные значения были возвращены в managedObjectModel и сущности перед их использованием в initWithEntity? – lnafziger