核心数据和TabViewController

时间:2010-05-13 17:57:01

标签: core-data navigationcontroller tabbarcontroller

在我的项目中,我正在使用tabBarController,然后在我的一个标签上添加一个导航控制器。

我遇到的问题是:如果我在AppDelegate中使用此代码:

  • (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //在应用程序启动后覆盖自定义点

    [window addSubview:[rootController view]];

    [window makeKeyAndVisible];

    返回YES; } 我的tabBar视图(位于main.xib中)出现了,但当我点击导航控制器的选项卡(使用核心数据)时,应用程序崩溃时出现此错误:

NSInternalInconsistencyException',原因:'+ entityForName:无法找到实体名称的NSManagedObjectModel'HotSprings

所以,我找到了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”。

谢谢,Jaime

1 个答案:

答案 0 :(得分:0)

您需要更仔细地阅读错误消息。错误在您的核心数据实体名称中,而不在视图控制器中

+entityForName: could not locate an NSManagedObjectModel for entity name 'HotSprings