首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在一个fetchedResultsController中使用多个sectionNameKeyPath吗?

我可以在一个fetchedResultsController中使用多个sectionNameKeyPath吗?
EN

Stack Overflow用户
提问于 2012-03-26 16:17:20
回答 1查看 272关注 0票数 3

我在核心数据中有一个‘账单’的列表。对于每个账单,我希望在UITableViewController中有一个单独的部分。我要把这些账单按金额分类。

为此,我使用fetchedResultsController。每个账单都有一个金额和billID。我已经设置了sortDescriptor 'amount‘和sectionNameKeyPath 'billID’。这会导致问题,因为didChangeSection在需要的时候没有得到适当的调用。

我做了一些挖掘,偶然发现了这篇文章:Custom Section Name Crashing NSFetchedResultsController

看起来苹果公司的文档说主要的排序描述符需要与sectionNameKeyPath相同。

我保留了‘sortDescriptor’作为‘金额’,并将sectionNameKeyPath改为'billID‘。这已经修复了行为。然而,如果两个账单有相同的‘金额’,他们将在相同的部分,这是我不想要的。有没有什么办法可以让金额依赖于两个变量,例如,‘sectionNameKeyPath’和'billID‘,这样我就可以保证每个账单都有一个单独的部分,然后按金额排序?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-10-26 13:24:54

NSFetchRequestsortDescriptor属性实际上是一个数组。我们可以根据希望对结果进行排序的属性的顺序向其传递多个sortDescriptor

尝试此订购sortDecriptor%s

代码语言:javascript
复制
request.sortDescriptors= @[billIdSortDescriptor, amountSortDescriptor];

这里,request是传递给NSFetchedResultsControllerNSFetchRequest,因此结果将首先按账单id排序,具有相同billID的对象将按金额排序。

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

https://stackoverflow.com/questions/9868719

复制
相关文章

相似问题

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