2013-06-19 54 views
1

我正在爲iOS創建一個用於學習目的的Reddit客戶端。我正在使用CoreData,它是通過跟隨CoreData Basics NSScreencast設置的,我使用Mogenerator生成模型文件。調用insertInManagedObjectContext時出現異常:

我添加斷點以捕獲所有的異常,當我調用由Mogenerator提供的insertInManagedObjectContext:類方法中,在下面的行應用程序崩潰:

return [NSEntityDescription insertNewObjectForEntityForName:@"AZRedditAccount" inManagedObjectContext:moc_]; 

這條線是在Mogenerator生成的模型(_AZRedditAccount )。當我看變量看,我注意到一個奇怪的線,我真的不明白......

Odd line in the Variables View

什麼我需要做的,使事情的工作嗎?

編輯:以下是我在我的.xcdatamodeld文件:

My .xcdatamodeld file

編輯2:我增加了整個項目Github上,認爲它可能有助於解決問題:https://github.com/AzizLight/Reddit

+0

你的模型中有什麼,你是否在任何改變後重新運行MoG,你編輯了任何生成的類,什麼是崩潰? – Wain

+0

MoG生成2個類:'_AZRedditAccount'和'AZRedditAccount'。我只是給'AZRedditAccount'添加了一個方法,但是它自從應用崩潰之前就不會被調用。如果我禁用了我添加的斷點,則會出現「線程2:信號SIGABRT」錯誤。隨着斷點,應用程序崩潰在我的問題中顯示的行。 –

+0

@AzizLight:你提到你設置了一個異常斷點,這就是停止的地方。那麼,什麼是例外? –

回答

3

如果您調試,您會發現您的ManagedObjectContext(MOC)沒有分配PersistentStoreCoordinator(PSC),因此不是模型。在AZRedditDataModel.m中,您正在初始化PSC,但您不保留它(第84-109行)。如果沒有模型,上下文不能創建任何實體,因爲沒有「藍圖」。

+0

非常感謝你! –

相關問題