2010-05-13 40 views
0

在我的項目中,我使用了tabBarController,然後在我的一個選項卡上添加了一個導航控制器。核心數據和TabViewController

我遇到的問題是這樣的:如果我用這個代碼在AppDelegate中:

  • (BOOL)申請:(UIApplication的*)應用程序didFinishLaunchingWithOptions:(NSDictionary的*)launchOptions {

    //應用程序啓動後自定義的替代點

    [window addSubview:[rootController view]];

    [window makeKeyAndVisible];

    return YES; } 我的TabBar視圖(這是在main.xib)來了,但是當我點擊導航控制器的標籤(這是使用核心數據)的應用程序崩潰,此錯誤的:

NSInternalInconsistencyException '原因是:' + entityForName:未能找到NSManagedObjectModel的實體名稱「溫泉

於是,我找到了AppDelegate的這段代碼: - (空)的applicationDidFinishLaunching:(UIApplication的*)應用程序{

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」,這是與導航控制器關聯。

感謝,海梅

回答

0

你需要閱讀錯誤信息更加仔細錯誤在您的核心數據實體名稱中,而不是在您的視圖控制器中

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