2010-04-05 54 views
0

我從模板創建了一個標籤欄應用程序,並向其中一個選項卡添加了導航控制器。我已經從導航應用程序模板創建了這個應用程序,並且正在運行。我這樣做的原因是因爲我需要添加一個標籤欄,並認爲使用標籤欄項目模板並添加導航控制器而不是其他方式會更容易。帶UINavigation Controller MOC的選項卡欄應用程序未被保留

我已經從其他項目複製了數據模型,並將相關的代碼添加到應該在的位置。

我遇到的問題是將moc從應用程序代理傳遞到啓用導航控制器的選項卡上。下面是我的applicationDidFinishLaunching方法在我的應用程序委託的一個片段:

(void)applicationDidFinishLaunching:(UIApplication *)application { 
[self createEditableCopyOfDatabaseIfNeeded]; 



Top_BananaTableViewController *top_BananaTableViewController = (Top_BananaTableViewController *)[navigationController topViewController]; 

top_BananaTableViewController.managedObjectContext = self.managedObjectContext; 



// Add the tab bar controller's current view as a subview of the window 
[window addSubview:tabBarController.view]; 
[window makeKeyAndVisible]; 
} 

似乎一切都在這裏很好,但是當涉及到fetchedResultsController我的導航控制器視圖它彈了有:

+ entityForName:未能找到NSManagedObjectModel爲實體 名「卡」

當我檢查什麼設置爲我managedObjectContext對這一觀點是null

我不知道爲什麼或它在哪裏丟失它的設置。

回答

1
Top_BananaTableViewController *top_BananaTableViewController = 
(Top_BananaTableViewController *)[navigationController topViewController]; 

我的猜測是,要麼navigationControllernil這裏,或致電topViewController方法的返回值是nil

+0

我已通過下列方式解決此問題: \t Top_BananaAppDelegate * appDelegate =(Top_BananaAppDelegate *)[UIApplication sharedApplication] .delegate; self.managedObjectContext = appDelegate.managedObjectContext;在TopBananaTableViewController的viewdidload方法中使用 – iamsmug 2010-04-05 21:15:25

0

「+ entityForName:找不到實體名稱'cards'的NSManagedObjectModel」是因爲您沒有有效的MOC引用。

相關問題