2010-03-07 117 views
2

在我的核心數據模型,我有了一個Person實體「一對多」關係的課程實體(我也有一個倒「到一個」從課程到人的關係)。NSFetchedResultsController崩潰導航時從一個的UITableViewController到另一個

現在我有一個使用NSFetchedResultsController來顯示其工作正常Person對象一個子類的UITableViewController。我有這樣的設置,當你點擊一個人時,它會發布另一個使用NSFetchedController的子類UITableViewController,以顯示與該人相關的課程。

問題:我得到這個例外,每當我的人點擊,並試圖顯示課程的UITableViewController ...

"Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath name not found in entity <NSSQLEntity Course id=2>「」

就如何解決或解決任何想法

?兩個ViewControllers之間的代碼是除了被配置用於在一個「人」實體和「課程」的實體中另一個

+0

嘗試nil NSFetchedResultsController的委託在viewWillDisappear: – digdog 2010-03-08 00:08:30

+0

所以課程實際上有一個名稱屬性? – 2010-03-08 01:55:56

回答

2

誤差裝置NSFetchedResultsController幾乎相同在數據模型中不存在用於定義NSFetchedResultsController的關鍵路徑,可能是關係。這些錯誤經常出現在謂詞和排序定義中。

某處你已經有了一個路徑類似」 person.course.someattribute.somerelationship,而在你的模型,你有person.course.somerelationship,或者你可能只是拼寫錯誤的東西,如鑰匙名。

0

你訪問的第二視圖控制器中的第一個視圖控制器獲取的Person對象。如果你這樣做,然後把一個明確的保留在第一executeFetchRequest,是這樣的:。

[[[managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0] retain]; 

那是因爲executeFetchRequest返回自動釋放的對象,以便,那麼你必須保留。希望對你有所幫助

相關問題