2011-10-24 57 views
0

當我有一個NSFetchedResultsController一個的viewController中顯示一些指定的實體, 因爲我有幾個實體在不同的時間顯示, 所以我儘量重複使用的viewController, 第一實體的正常工作, 但是當我來到了第二個實體, 它拋出我這樣的錯誤:錯誤ALLOC一個NSFetchedResultsController

'NSInvalidArgumentException' 的,理由是: '* - [NSMutableArray的insertObject:atIndex:]:嘗試在1插入無對象'

和發生在這裏的錯誤:

NSFetchedResultsController * FRC = [[NSFetchedResultsController的alloc] initWithFetchRequest:請求 managedObjectContext:managedObjectContext sectionNameKeyPath:sectionKey cacheName:的entityName];

當「的entityName」是第一個實體的名稱(這是「賬戶‘)我試過了,效果很好, 但是當涉及到第二實體(其名稱爲’預算」)它墜毀了。 任何人都可以幫我解決這個問題嗎? 我真的很困惑。 非常感謝!

回答

0

也許它沒有找到任何東西(返回nil),你試圖把它放到你的表視圖的datasource方法的某個地方NSMutableArray

檢查帶有Budget的查詢是否返回任何內容。

如果您懷疑cacheName是罪魁禍首(儘管我不這麼認爲),請嘗試將其設置爲nil進行檢查。

+0

是的!我刪除了所有帳戶實體(之前運行良好),同樣的問題涉及帳戶!所以我瞭解到NSFetchedRusltsController很可能沒有在實體中發現它,並且它崩潰了,但它不是關於緩存,因爲我試圖將它設置爲零,問題依然存在。你能幫我解決嗎?因爲在第一個實體帳戶工作正常,即使沒有managedObjects它,它應該工作正常,即使它沒有發現任何東西,只是爲了顯示一個空的列表。那麼問題究竟在哪裏呢?非常感謝!!! –

+0

hi Mundi,我已經解決了這個問題,它確實發生在表數據源方法中。再次感謝您的指導! –

相關問題