Основные данные - загрузка внешнего хранилища / ошибка: '+ entityForName: не удалось найти NSManagedObjectModel для имени объекта' Place '' - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть приложение, которое использует Core Data для сохранения данных.Мое приложение состоит из (4) контроллеров навигации внутри TabBarController.Контроллер корневого представления контроллера навигации является контроллером UITableView, и при выборе ячейки в каждом случае отображается контроллер подробного представления.Я хотел, чтобы основное приложение было статичным, чтобы пользователь не мог редактировать данные, и мое обновление было бы сделано с использованием отдельного приложения, которое я использовал бы для обновления данных, а затем выпустил новую версию.

Я заполнил приложения для обработки данных, и они успешно сохранили данные, и я могу вызвать их обратно для отображения, и все выглядит хорошо.Я также просмотрел данные в браузере SQlite Data, чтобы убедиться, что все в порядке.

Затем я беру заполненный файл .sqlit и помещаю его в каталог документов основного приложения и проверяю имена.соответствие см. ниже:

NSURL * storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent: @ "RoundTopApp.sqlite"];

После выполнения этого и запуска приложения,Я получаю следующую ошибку:

'+ entityForName: не удалось найти NSManagedObjectModel для имени сущности' Place ''

Я добавил код ниже, чтобы отметить, что яЯ использую NSFetchedResultsController для выполнения выборки.

  • (void) viewDidLoad {[super viewDidLoad];

    NSError * error;if (! [[self fetchedResultsController] executeFetch: & error]) {NSLog (@ "Неразрешенная ошибка% @,% @", ошибка, [ошибка userInfo]);Выход (-1);// Fail}

    self.title = @ "Lodging";}

Я не уверен, что здесь не так, кроме того, что мне не удалось добавить его в комплект приложений или что-то в этом роде.

Любая помощь будет принята.

Гудзон

1 Ответ

0 голосов
/ 07 декабря 2011

Ошибка говорит о том, что вы пытаетесь получить доступ к объектам с именем «Поместить» из своего хранилища данных, но определенная в приложении модель управляемых объектов не содержит эту сущность. Возможно, вы добавили эту сущность в другое приложение, где вы создаете хранилище данных? Если это так, вам необходимо обновить модель управляемых объектов в приложении, которое читает хранилище данных, в соответствии с моделью в приложении, которое создало хранилище.

В качестве альтернативы, если вы скопировали Управляемую объектную модель между двумя приложениями и только что скопировали ее, вам, вероятно, потребуется выполнить чистую сборку («Продукт»> «Очистить»). Также убедитесь, что ваша новая модель установлена ​​в качестве текущей модели, если вы поддерживаете версионную модель.

...