在我的项目中,我使用了一个 tabBarController,然后在我的一个选项卡上,我添加了一个导航控制器。
我遇到的问题是:如果我在 AppDelegate 中使用此代码:
(BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 应用程序启动后自定义的覆盖点
[窗口 addSubview:[rootController 视图]];
[窗口 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”。
谢谢,詹姆