我得到這個錯誤在我的控制檯時,我的iPhone應用程序崩潰:的UITableView CoreData斷言失敗
*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-2372/UITableView.m:1070
它崩潰,給我這個達到這行代碼時:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
[tableView endUpdates];
}
關於我的應用程序的一些細節以及我如何實現這一點。我有一個視圖控制器與表視圖顯示我的核心數據對象。我有這個視圖設置來顯示來自兩個實體的數據,所以表1顯示來自實體的對象,然後第2部分顯示來自我的第二個實體的對象。
這是我的問題開始的地方。雖然這已經相當成功,但我可以推動我的下一個視圖控制器,並將對象添加到我的第一個實體,然後彈回到我的tableviewcontroller,而不會出現問題。但是,如果我嘗試添加一個對象到第二個實體,返回到我的tableviewcontroller它崩潰,如上所述。
我無法解決所有這些問題,所以我不確定從哪裏開始尋找。如果您有任何想法,我很樂意發佈我的代碼以進一步幫助解決這個問題。
謝謝。
從控制檯的一些額外的錯誤信息:
「CoreData:錯誤:嚴重應用程序錯誤的一個例外是從NSFetchedResultsController的代理抓了通話過程中-controllerDidChangeContent :.無效更新:行數無效在部分0.更新(2)後現有部分中包含的行數必須等於更新前(2)部分中包含的行數,加上或減去從該部分插入或刪除的行數部分(插入了1個,刪除了0個),並加上或減去移入或移出該部分的行數(0移入,0移出)用戶信息(空)「
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
NSInteger rows;
id <NSFetchedResultsSectionInfo> sectionInfoAccounts = [[fetchedResultsControllerAccounts sections] objectAtIndex:0];
id <NSFetchedResultsSectionInfo> sectionInfoCosts = [[fetchedResultsControllerCosts sections] objectAtIndex:0];
if (section == 0) rows = [sectionInfoAccounts numberOfObjects];
else if (section == 1) rows = [sectionInfoCosts numberOfObjects];
return rows;
}
Xcode應該打印更多關於斷言失敗的內容。編輯您的帖子以包含它打印的所有內容。 –
這就是我從控制檯中得到的所有東西。 –
管理得到更多的錯誤信息。檢查我的問題。 –