0

テンプレートからタブ バー アプリケーションを作成し、タブの 1 つにナビゲーション コントローラーを追加しました。既にナビゲーション アプリ テンプレートからこのアプリを作成しており、動作しています。このようにする理由は、タブ バーを追加する必要があり、タブ バー プロジェクト テンプレートを使用して開始し、その逆よりもナビゲーション コントローラーを追加する方が簡単だと考えたためです。

他のプロジェクトからデータ モデルをコピーし、関連するコードをあるべき場所に追加しました。

私が抱えている問題はmoc、ナビゲーションコントローラーをオンにして、アプリデリゲートからタブに渡すことです。applicationDidFinishLaunchingアプリ デリゲートのメソッドのスニペットを次に示します。

(void)applicationDidFinishLaunching:(UIApplication *)application {
[self createEditableCopyOfDatabaseIfNeeded];



Top_BananaTableViewController *top_BananaTableViewController = (Top_BananaTableViewController *)[navigationController topViewController];

top_BananaTableViewController.managedObjectContext = self.managedObjectContext;



// Add the tab bar controller's current view as a subview of the window
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
}

ここではすべて問題ないように見えますがfetchedResultsController、ナビコントローラーのビューに関しては、次のように爆発します。

+entityForName: エンティティ名「cards」の NSManagedObjectModel が見つかりませんでした

managedObjectContextそのビューで自分に設定されているものを確認したところ、それはnull.

設定が失われている理由や場所がわかりません。

4

2 に答える 2

1
 Top_BananaTableViewController *top_BananaTableViewController =
 (Top_BananaTableViewController *)[navigationController topViewController];

私の推測では、どちらかnavigationControllerがここにあるか、メソッドnilの呼び出しからの戻り値はです。topViewControllernil

于 2010-04-05T20:29:19.373 に答える
0

「+entityForName: エンティティ名 'cards' の NSManagedObjectModel が見つかりませんでした」は、有効な MOC 参照がないためです。

于 2011-11-21T19:10:44.080 に答える