首页 文章

核心数据和TabViewController

提问于
浏览
0

在我的项目中,我正在使用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”) .

谢谢你,海梅

1 回答

  • 0

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

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

相关问题