我在使用NSFetchedResultsController管理我的Core Data支持的UITableView中的部分时遇到问题。
我的表视图可以包含2个部分,第一部分是静态部分,并且有条件地显示。第二部分正在使用获取的结果控制器填充。我正在使用以下内容来确定要显示的部分。如果我删除第二部分中的所有提取的对象,我希望也删除该部分。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView
{
NSInteger numberOfSections = 0;
if (self.locationEnabled) numberOfSections++;
if ([[[self.fetchedResultsController sections] lastObject] numberOfObjects]) numberOfSections++;
return numberOfSections;
}
这种方法的问题是这个数据源方法通知表它应该显示1个部分,因为没有剩余的已获取对象,但删除最后一个对象从未通过获取的结果管理器委托触发删除该部分方法
如何触发删除部分以避免收到UIKit不一致错误?
编辑:我应该指出我将sectionNameKeyPath设置为nil,因为结果不会与section by共享任何共同点。