看看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;
}
}
以上代码当数据源数组大于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即可。