UITableView中的部分无法正常显示

时间:2014-02-20 22:38:56

标签: ios iphone objective-c uitableview nsfetchedresultscontroller

我对UITableView部分有疑问。我正在使用NSFetchedResultsController填充表格,我在初始化时提供了sectionNameKeyPath:

Basiclly我有一个包含一个部分的表视图,但是当用户点击单元格时,它正在更改一个核心数据属性,并应该创建第二个部分。我想我已经完成了这个但是......

当我点击第一个单元格时,它会创建上面的新部分(这就是它应该是这样)但是当我第一次点击另一个单元格时,它会在表格视图的底部创建一个部分。您可以在下面的屏幕截图中预览:

enter image description here

以下是我的应用程序中的一些Table View委托方法:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [[_fetchedResultsController sections] count];
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [[[_fetchedResultsController sections] objectAtIndex:section] name];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    id sectionInfo = [[_fetchedResultsController sections] objectAtIndex:section];
    return [sectionInfo numberOfObjects];
}

我的问题是:如何手动提供分段订单?

1 个答案:

答案 0 :(得分:0)

对于此示例,解决方案非常直接 - 在NSSortDescriptor排序描述符数组中向现有的一个添加NSFetchedResultsController

现在,获取的数据首先按部分排序,然后按字母顺序排序。