私はiPadアプリの開発を始めたばかりで、問題に長い間苦労しているので、助けを求めることにしました。
ストーリーボードを使用したiPad用のアプリケーションがあり、CoreDataを使用したタブ付きアプリケーションとして開始しました。したがって、問題は、NSManagedObjectContextが値で始まりますが、別のタブに移動すると、managedObjectContextがnullになることです。
何をすべきかわからない。いくつかの助けをいただければ幸いです。
ありがとう
エルクチョ
私はiPadアプリの開発を始めたばかりで、問題に長い間苦労しているので、助けを求めることにしました。
ストーリーボードを使用したiPad用のアプリケーションがあり、CoreDataを使用したタブ付きアプリケーションとして開始しました。したがって、問題は、NSManagedObjectContextが値で始まりますが、別のタブに移動すると、managedObjectContextがnullになることです。
何をすべきかわからない。いくつかの助けをいただければ幸いです。
ありがとう
エルクチョ
少し混乱しています...
self.window.rootViewController
のインスタンスを返す必要がありますがUITabBarController、これは応答しないため、setManagedObjectContext:クラッシュするはずです。
これを念頭に置いて、あなたはそれをする必要があります
それらに managedObjectContext を渡します
for (id viewController in self.window.rootViewController.viewControllers) {
[viewController setManagedObjectContext:self.managedObjectContext];
}
ざっと見てきました。
UITabBarController化する必要はめったになく、この場合は本当に必要ありません。あなたがしたいことはmanagedObjectContext、tabBarController の各 viewControllers を取得することです。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];
}
}