Перепутанный в получении ManagedObjectContext от AppDelegate

Я смотрел на документацию относительно Базовых Данных и пытался выяснить, как расположить Базовый Стек данных, таким образом, это доступно для всех моих UITableViewControllers. Все примеры, обеспеченные Apple, показывают это, чтобы быть реализованными на AppDelegate все же, документация не рекомендует этот подход, потому что это является слишком остроконечным! См. ссылку.

(Почему это не упоминание на документации iPhone SDK, другая тайна),

Моя проблема состоит в том, что я повторил шаблон разработки согласно Базовому примеру Данных, который, как показывают в TopSongs, получал Объект ManagedObjectContext для дочерней таблицы Представление, и следующая ошибка производится, … не мог расположиться, NSManagedObjectModel для объекта называют 'Песню'. Странно это может быть найдено его на родительской таблице Представление, таким образом, я предполагаю, что это - потому что Базовый Стек данных на AppDelegate был dealoc.

Кто-либо знает хороший пример, который следует другому шаблону разработки тем созданным на Recipies, Книгах CoreData и Местоположениях? Все они следуют за тем же шаблоном.

Все, что я хочу сделать, является retrive, который исходные данные и вид с различные критерии в упрекании tableview.

6
задан gerry3 16 December 2009 в 05:32
поделиться

3 ответа

В этом вопросе ведется серьезная дискуссия о том, где люди предпочитают размещать стек Core Data. Я обычно помещаю стек в синглтон (как я там указываю). Это дает вам удобный доступ к стеку в любом месте вашего приложения.

Что касается вашей проблемы, я считаю маловероятным, что элементы вашего стека Core Data были освобождены. Во-первых, вы получите сбой при отправке сообщения вашему контексту или модели, а не получите обратно отчет, которым вы являетесь сейчас. Если вы можете получить доступ к объекту "Песня" из другого места в вашем приложении, я уверен, что вы

4
ответ дан 17 December 2019 в 04:47
поделиться

IIRC примеры Apple инициализируют стек Core Data в делегате приложения, но на самом деле они настраивают свойства в контроллере представления для ссылки на ManagedObjectContext и устанавливают их при загрузке приложения - то, что в документах Apple называется Я читал, что вам следует сделать что-то подобное, а не пытаться загрузить ManagedObjectContext непосредственно из делегата приложения.

Если вы опубликуете какой-то код, будет намного проще помочь вам выяснить, что происходит с вашей ошибкой. Первое, что я проверю, это то, что ссылка на ManagedObjectContext в вашем контроллере не равна нулю.

1
ответ дан 17 December 2019 в 04:47
поделиться

Проблема, с которой вы столкнулись, заключается в том, что вы не объявили объект с именем song в своей объектной модели ... Шаблон, которому вы следуете, не имеет к этому никакого отношения ... Я предлагаю вам прочитать подробнее об основных данных и объектной модели здесь . Надеюсь, это поможет вам

0
ответ дан 17 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: