CoreData: error: Serious application error. An exception was caught from the delegate of NSFetchedRe
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoreData: error: Serious application error. An exception was caught from the delegate of NSFetchedRe相关的知识,希望对你有一定的参考价值。
看看xcode的具体的描述:
CoreData: error: Serious application error. An exception was caught from the delegate of NSFetchedResultsController during a call to -controllerDidChangeContent:. UITableView internal bug: unable to generate a new section map with old section count: 1 and new section count: 0 with userInfo (null)
下面看下的我的关键代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
if (self.serviceItems.count > 0) {
return 1;
} else {
return 0;
}
if (self.serviceItems.count > 0) {
return 1;
} else {
return 0;
}
}
以上代码当数据源数组大于0的时候section返回1,否则返回0.看似没问题,一开始我的self.serviceItems.count > 0,但是self.serviceItems是可变的,当self.serviceItems变化的时候我会刷新数据源(tableView.reloadData)。所以我进行删除操作的时候self.serviceItems.count可能会等于0,当self.serviceItems.count等于0的时候就数据源方法就返回0了,UITableView internal bug: unable to generate a new section map with old section count: 1 and new section count: 0 with userInfo (null),意思是无法用新生成的section=0替换原来的section=1,这是UITableView本身是bug(UITableView internal bug:...)所以改下代码,变为
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
始终返回1即可。
以上是关于CoreData: error: Serious application error. An exception was caught from the delegate of NSFetchedRe的主要内容,如果未能解决你的问题,请参考以下文章
sparksql读取hive数据报错:java.lang.RuntimeException: serious problem
SwiftUI+CoreData项目出现The operation couldn’t be completed(GenericObjCError error 0)错误的解决