我想在我的數據庫中有兩個完全不相關的表的等價物,爲此,我在我的核心數據模型中定義了兩個不同的實體。一個核心數據模型中的多個不相關實體
而且這一點,我有這樣一個不同的視圖控制器利用這些實體,所以我(在每個視圖控制器之一)初始化兩個不同fetchedResultsController的:
// Create the fetch request for the entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event"
inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
我要指出,基於XCode模板,MOM僅在AppDelegate中初始化一次。
這一切都很好,當我只有一個ViewController和模型中的單個實體,但即使我有第二個實體在模型中定義我無法獲得第二個ViewController初始化fetchedResultsController(再次基於XCode模板)。我總是得到以下錯誤:
2010-02-11 22:02:55.078 JournalTool[3094:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'EventTag''
我可能失去了一些東西基本和做一些非常愚蠢的,但在這裏,任何幫助,將不勝感激。
感謝,
保羅
您是否使用兩個取相同的託管對象上下文? (你應該) – gerry3 2010-02-11 22:12:01
是的,託管對象模型和託管對象上下文都在AppDelegate中初始化一次,我只是將同一上下文傳遞給兩個ViewControllers,例如, [tagsViewController setManagedObjectContext:self.managedObjectContext]; – Paul 2010-02-11 22:20:47
這可能聽起來很愚蠢,但是您是否重置了模擬器(假設您沒有在設備上運行)或者從模型中刪除應用程序?因爲將第二個實體添加到模型中?也許它仍然有舊模式。 – Don 2010-02-11 22:38:45