我刚刚开始开发iPad应用程序,而且我现在很难解决问题,所以我决定寻求帮助。
我有一个使用storyboard的iPad应用程序,并使用CoreData作为Tabbed应用程序启动。所以问题是,我的NSManagedObjectContext以一个值开头,但当我移动到另一个选项卡时,managedObjectContext变为null。
不知道该怎么做。一些帮助将不胜感激。
由于
Elkucho
答案 0 :(得分:1)
我有点困惑......
self.window.rootViewController
应该返回UITabBarController
的实例,该实例不应回复setManagedObjectContext:
,因此应该崩溃。
考虑到这一点你需要做什么
传递managedObjectContext
for (id viewController in self.window.rootViewController.viewControllers) {
[viewController setManagedObjectContext:self.managedObjectContext];
}
我快速浏览了一下。
UITabBarController
,在这种情况下您根本不需要。
你想要做的只是获取tabBarController中每个viewControllers的managedObjectContext
,tabBarController本身确实需要了解它。我将您的application:didFinishLaunchingWithOptions:
更改为以下内容,它按预期的方式工作
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (id)self.window.rootViewController;
for (id viewController in tabBarController.viewControllers) {
[viewController setManagedObjectContext:self.managedObjectContext];
}
}