Restサービスを取得して情報をコアデータに入れたい脳のクラスがあります(RestKitオブジェクトマッピングを見てきましたが、まだ完全には理解しておらず、よりシンプルにしたいと思っています)。クラスにCoreDataの知識が必要ですがengine
、ベースをカバーするために、タブバーコントローラーのすべてのVCにManagedObjectContextを追加します(アプリデリゲートの場合)。
UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
NSArray *viewControllers = [tabBar viewControllers];
NSManagedObjectContext *context = self.managedObjectContext;
self.engine.managedObjectContext = context;
for (id viewController in viewControllers) {
[viewController setManagedObjectContext:context];
}
tabBar.selectedIndex = 2;
return YES;
engine
ただし、クラスでcoreDataが使用可能かどうかを確認しようとすると、このエラーがログに記録されます。
if (self.managedObjectContext == NULL || [self.managedObjectContext isEqual:[NSNull null]]) {
NSLog(@"Error");
}
私は何が間違っているのですか?コアデータを非viewControllerクラスに正しく渡すにはどうすればよいですか?
編集:IFステートメントの直前、これはデバッガーで:
(lldb) po self.managedObjectContext
(NSManagedObjectContext *) $1 = 0x00000000 <nil>
(lldb)