0

私のプロジェクトでは、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」は好きではありません。

ありがとう、ハイメ

4

1 に答える 1

0

エラーメッセージをもっと注意深く読む必要があります。エラーは、View Controller ではなく、コア データ エンティティ名にあります

+entityForName: could not locate an NSManagedObjectModel for entity name 'HotSprings
于 2011-03-29T11:56:34.400 に答える