【发布时间】:2013-04-17 15:24:48
【问题描述】:
我有以下问题。我有一个由 NSFetchedResultsController 提供支持的 UITableview。 它应该显示一个项目、文件夹和文件。没有比这更大的等级制度了。所以一个项目有几个文件夹,那些有几个文件。 现在我的表格视图应该显示这些文件,按文件夹分组。
所以我认为我的获取请求的谓词只是:
[NSPredicate predicateWithFormat:@"folder.project = %@", self.project];
然后我会使用 MagicalRecord 来制作一个 NSFetchedResultsController,方法如下:
[File fetchAllGroupedBy:@"folder.name"
withPredicate:sectionPredicate
sortedBy:@"folder.name"
ascending:YES];
这基本上适用于一个大问题......如果文件夹中没有文件,我不会得到该文件夹的部分(我需要它!!!!)
所以我需要的是 tableview 来显示空文件夹的部分标题:
Folder A
File 1
File 2
Folder B
Folder C
File 3
我可以在没有 NSFetchedResultsController 的情况下做到这一点,但我喜欢它很好地处理行和节的插入/删除,并且它可以观察变化......
感谢您的帮助, 干杯, 乔治
【问题讨论】:
-
我不认为有一个简单(甚至中等复杂)的解决方案。 FRC 不会创建空部分。您将不得不修改表视图数据源方法,但随后 FRC 索引路径和表视图索引路径不再同步,这使得 FRC 委托方法(didChangeObject,...)变得复杂。
标签: ios core-data nspredicate nsfetchedresultscontroller magicalrecord