gpt4 book ai didi

ios - 如何让 NSFetchedResultsController 返回更多部分?

转载 作者:行者123 更新时间:2023-12-01 16:00:26 25 4
gpt4 key购买 nike

我看了一些示例代码和苹果文档,这一切似乎 fetchedResultsController 总是有一个节数。

如何让它返回两个部分?

因为真正的问题是,我正在做一个 iOS To-do 应用程序。
有已完成/待办事项列表,保存在核心数据中,显示在UITableview作为两个部分。

但是fetchedResultsController只有一个,如何让它支持两个section呢?

这是官方示例代码,我不知道如何更改。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSInteger count = [[fetchedResultsController sections] count];

if (count == 0) {
count = 1;
}

return count;
}

最佳答案

您需要提供 sectionNameKeyPath在构造 FetchedResultsController 时。在您的情况下,可能是 finished如果您的实体具有该属性。

Documentation

更新:

您将像这样初始化 NSFetchedResultsController:

NSFetchedResultsController *fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:manangedObjectContext sectionNameKeyPath:@"category" cacheName:nil];

确保 sortDescriptors在您的 fetchRequest提供与您的 sectionNameKeyPath 相同的顺序做。

您可以像这样访问该部分的名称:
id<NSFetchedResultsSectionInfo> sectionInfo = fetchedResultsController.sections[section];
NSString *sectionTitle = [sectionInfo name];

关于ios - 如何让 NSFetchedResultsController 返回更多部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17297851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com