Шаблон базовых данных: данные не сохраняются между запусками - PullRequest
0 голосов
/ 19 сентября 2011

Я создал небольшое тестовое приложение Mac, используя шаблон Core Data (на Lion 10.7 и Xcode 4). Я использовал пример на этом сайте, http://www.swampfoetus.net/chapter-7-fail/,, чтобы соединить все привязки какао с табличным представлением, NSArrayController, текстовым полем и кнопкой «Добавить». NSArrayController связан с managedObjectContext делегата приложения.

Кажется, все работает нормально, когда я запускаю приложение ... Я могу набрать текст и нажать Add, и оно сохраняется в виде таблицы. Я сохранил несколько строк, а затем нажал «Сохранить» в меню «Файл» (связанный с IBAction saveAction) и вышел из приложения. Я вижу данные, сохраняемые в файле данных xml (я переименовал его в .xml ... PSC имеет тип NSXMLStoreType).

Проблема в том, что когда я снова запускаю приложение, оно запускается без данных, которые были сохранены в файле Core Data при предыдущем запуске.

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

Есть идеи, что здесь может быть не так? Я вообще не возился с кодом, сгенерированным App Delegate, только установил привязки, которые, кажется, работают нормально. Что я могу проверить, чтобы убедиться, что он настроен правильно?

1 Ответ

0 голосов
/ 19 сентября 2011

Если данные отображаются в постоянном хранилище, то единственным объяснением будет проблема с привязкой, когда пользовательский интерфейс по какой-то причине не отображает предыдущие данные.Трудно сказать, почему это происходит, но я предполагаю, что это предикат выборки или какой-либо другой связанный спецификатор, который заставляет контроллер игнорировать старые объекты, чтобы они не отображались.

Не могу сказать точно, потому что у меня нет доступа к книге.

Это один из недостатков использования привязок.Когда они работают, они фантастические, но когда они этого не делают, они @ #%!отлаживать.

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