На самом деле вам не нужно передавать его на каждый контроллер представления, где вам потребуется доступ к Core Data - просто используйте
NSManagedObjectContext* moc = [(MyAppDelegateClass *)[[UIApplication sharedApplication] delegate] managedObjectContext];
managedObjectContext
, который должен быть доступным иваром вашего делегата приложения.
Это также делает его концептуально похожим.Существует один NSManagedObjectContext (в большинстве несложных приложений, хотя у вас может быть несколько), принадлежащий делегату вашего приложения.Вы никогда не сохраняете и не освобождаете его (за исключением случаев, когда он создается в делегате приложения, при первом доступе, если вы используете код шаблона Apple, и когда он выпускается в dealloc
.
делегата приложения