我得到这个错误在我的控制台时,我的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应该打印更多关于断言失败的内容。编辑您的帖子以包含它打印的所有内容。 –
这就是我从控制台中得到的所有东西。 –
管理得到更多的错误信息。检查我的问题。 –