在我的项目中,我正在使用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
答案 0 :(得分:0)
您需要更仔细地阅读错误消息。错误在您的核心数据实体名称中,而不在视图控制器中
+entityForName: could not locate an NSManagedObjectModel for entity name 'HotSprings