私のプロジェクトでは、tabBarController を使用しており、タブの 1 つにナビゲーション コントローラーを追加しています。
私が抱えている問題はこれです: AppDelegate でこのコードを使用すると:
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// アプリケーション起動後のカスタマイズのオーバーライド ポイント
[window addSubview:[rootController ビュー]];
[ウィンドウ makeKeyAndVisible];
はいを返します。tabBar ビュー (main.xib にあります) が表示されますが、(コア データを使用している) ナビゲーション コントローラーのタブをクリックすると、アプリが次のエラーでクラッシュします。
NSInternalInconsistencyException'、理由: '+entityForName: エンティティ名 'HotSprings' の NSManagedObjectModel が見つかりませんでした
それで、AppDelegate の次のコードを見つけました: - (void)applicationDidFinishLaunching:(UIApplication *)application {
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
}
RootViewController *rootViewController = (RootViewController *)[navController topViewController];
rootViewController.managedObjectContext = self.managedObjectContext;
[window addSubview:[navController view]];
[window makeKeyAndVisible];
ただし、もちろん、ナビゲーション コントローラー ビューを読み込み、main.xib とタブ バー コントローラーを無視します。
したがって、この最後のコードの使用方法を知る必要がありますが、タブ バーと main.xib をロードします。navController を rootController に変更しようとしました (これは私の tabBarController プロパティですが、ナビゲーション コントローラーに関連付けられている「topViewController」は好きではありません。
ありがとう、ハイメ