objective-c - 使用 NSFetchedResultsController 将谓词从核心数据模型提取到各个部分中

标签 objective-c ios uitableview core-data nsfetchedresultscontroller

我一直在思考这个问题Here

并尝试实现我自己的解决方案。不知怎的,我没有得到任何部分。仅行。

本例中为 3 行...但没有部分。至少应该有 2 个部分。 2个月。我知道这一点是因为我检查了模型并且它们就在那里。

我的核心数据模型有一个实体,包含多个月份(实体)。并且月份也有很多天(实体)

分别代表实体的属性为year_、month_和day_。

我想做的是对所有日期给定月份给定年份的提取请求这样我就可以让我的部分代表月份,行代表天。

有人可以帮我吗?

编辑:更新代码

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Day" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];


NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"day_" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

[fetchRequest setSortDescriptors:sortDescriptors];


[fetchRequest setFetchBatchSize:20];

NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                    managedObjectContext:managedObjectContext
                                      sectionNameKeyPath:@"month.month_"
                                               cacheName:@"Root"];

我的模型看起来像这样,

enter image description here

非常感谢任何帮助。

谢谢!

努诺

最佳答案

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:@"";

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Day" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"Month.month_" ascending:NO];
NSSortDescriptor *sort2 = [[NSSortDescriptor alloc] initWithKey:@"day_" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObjects:sort,sort2]];

[fetchRequest setFetchBatchSize:20];

NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                    managedObjectContext:managedObjectContext sectionNameKeyPath:"month.month_"
                                               cacheName:@"Root"];

关于objective-c - 使用 NSFetchedResultsController 将谓词从核心数据模型提取到各个部分中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220353/

相关文章:

objective-c - Objective C 结构和内存管理

ios - EarlGrey - 如何检查屏幕上是否显示多个对象

ios - 从另一个类触摸时快速按钮操作选择器 : unrecognized selector sent to instance

ios - 尝试在表格 View 中添加虚线边框分隔符

ios - BLKFlexibleHeightBar 行为定义器不符合 UITableViewDelegate

ios - 如何为不同的屏幕尺寸设置不同的自动布局约束

objective-c - 将一个目录的内容移动到另一个目录(iOS)

objective-c - 覆盖已弃用的 UIKit 方法——我可以收到警告吗?

ios - Swift:无效参数不满足:约束

ios - 创建 IBOutlet 是否太昂贵?