Tim*_*mbo 16 iphone xcode objective-c nsfetchedresultscontroller
我在Core Data中有一个任务列表.我使用NSFetchedResultsController将它们提取到UITableView中.
我需要自定义订单中的自定义部分:
为了确定任务应该进入哪个部分,我使用基于相对对象中的其他属性动态计算的派生瞬态属性.
遗憾的是,您无法将派生值作为获取请求使用的排序描述符传递.这是因为fetch依赖于已经要求获取的数据.鸡蛋.
我理解为什么我不能这样做,这无助于我解决问题!
我试过了:
将NSFetchedResultsController子类化为" 自定义节和索引标题的创建 ".也许我做错了,但这只是改变了部分的名称和顺序,而不是那些部分有多少东西(这是关键的).
每个部分填充数组并将它们提供给表(笨重,缓慢但完全有效).
剔除正在进行和推迟的任务(有效但不理想).这样我可以按dueDate排序并通过瞬态值驱动sectionNameKeyPath.
有没有人有更好的想法?有很多问题就像这个问题一样,但没有一个问题可以解决.
提前致谢!
干杯
Den*_*ssy 10
最简单的解决方案是添加持久的"section"属性(或转换现有的transient属性).使其成为一组可排序的值(使用您想要的名称在运行时显示).无论何时更新任何记录,都要重新计算并存储section属性.
我意识到这听起来像是在存储冗余信息,但除了使逻辑更简单之外,它还可以编制索引,从而加快访问速度.
归档时间: |
|
查看次数: |
2725 次 |
最近记录: |