Как получить managedObjectContext для viewController, кроме как получить его из appDelegate?

Недавно я узнал, что «Вы действительно не должны вызывать AppDelegate для получения контекста управляемого объекта». Apple также включила эту рекомендацию в свою документациюВот, Это выглядит так:

Контроллер представления обычно не должен извлекать контекст из глобального объекта, такого как делегат приложения, - это делает архитектуру приложения жесткой. Контроллер представления также не должен создавать контекст для собственного использования (если это не вложенный контекст). Это может означать, что операции, выполняемые с использованием контекста контроллера, не зарегистрированы с другими контекстами, поэтому разные контроллеры представления будут иметь разные точки зрения на данные.

Далее они упомянули некоторые другие способы получить контекст. Пока я не могу понять, что они пытаются там сказать. Кто-нибудь может, пожалуйста, пролить свет на эту проблему. Любые операторы поддержки фрагмента кода будут приветствоваться.

РЕДАКТИРОВАТЬ

Иногда, тем не менее, легче или более уместно извлечь контекст из другого места, кроме приложения, документа или контроллера представления. Несколько объектов, которые вы можете использовать в приложении на основе базовых данных, сохраняют ссылку на контекст управляемого объекта. Сам управляемый объект имеет ссылку на свой собственный контекст, как и различные объекты контроллера, которые поддерживают Базовые данные, такие как массивы и контроллеры объектов (NSArrayController и NSObjectController в OS X и NSFetchedResultsController в iOS).

Извлечение контекста из одного из этих объектов имеет то преимущество, что если вы реорганизуете свое приложение, например, для использования нескольких контекстов, ваш код, скорее всего, останется действительным. Например, если у вас есть управляемый объект, и вы хотите создать новый управляемый объект, который будет связан с ним, вы можете запросить у исходного объекта его контекст управляемого объекта и создать новый объект, используя его. Это гарантирует, что новый объект, который вы создаете, находится в том же контексте, что и оригинал.

Что именно это? Уверен, что он не похож на высоко оцененный ответ ниже. Может ли кто-нибудь помочь мне понять эту часть документов Apple?

Ответы на вопрос(2)

Ваш ответ на вопрос