首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >瞬态sectionNameKeyPath & NSSortDescriptor NSFetchedResultsController

瞬态sectionNameKeyPath & NSSortDescriptor NSFetchedResultsController
EN

Stack Overflow用户
提问于 2012-05-07 12:12:42
回答 1查看 2.9K关注 0票数 16

我在核心数据中有一个任务列表。我使用一个UITableView将它们提取到一个NSFetchedResultsController中。

我需要按自定义顺序的自定义部分:

  • COMPLETED

  1. 逾期
  2. ACTIVE
  3. 进行中
  4. 延期

为了确定任务应该进入哪个部分,我使用一个派生的瞬态属性,该属性是根据相对对象中的其他属性动态计算的。

不幸的是,不能将派生值作为提取请求使用的排序描述符传递。这是因为fetch依赖于已经被要求获取的数据。鸡和蛋。

我明白为什么我不能这样做,这并不能帮助我解决问题!

我试过:

  • 将NSFetchedResultsController子类为“customise creation of sections and index titles”。也许我做错了,但是这只是改变了部分的名称和顺序,而不是在这些部分中有多少东西(这是每个部分的critical).
  • Populating数组,并将它们输入到表中(笨拙的、缓慢的、完全的works).
  • Ripping输出正在进行的和延迟的任务)(这很有效,但并不理想)。这样我就可以按dueDate进行排序,并通过瞬态值驱动sectionNameKeyPath。

有人有更好的主意吗?有相当多的问题,就像这个问题,但没有一个得到一个巧妙的解决办法。

提前感谢!

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-14 16:35:19

最简单的解决方案是添加一个持久的“区段”属性(或者转换现有的临时属性)。使其成为一组可排序的值(在运行时使用所需的名称显示这些值)。无论何时更新任何记录,也要重新计算和存储节属性。

我意识到这听起来像是在存储多余的信息,但除了简化逻辑之外,它还将是可索引的,这将加快访问速度。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10481860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档