【问题标题】:Core data and TabViewController核心数据和 TabViewController
【发布时间】:2010-05-13 17:57:01
【问题描述】:

在我的项目中,我使用了一个 tabBarController,然后在我的一个选项卡上,我添加了一个导航控制器。

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

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

    // 应用启动后的自定义覆盖点

    [window addSubview:[rootController view]];

    [窗口 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”。

谢谢,詹姆

【问题讨论】:

    标签: core-data navigationcontroller tabbarcontroller


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-01-11
      • 2010-12-04
      • 2014-09-18
      • 2013-01-24
      • 2011-12-04
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多