gpt4 book ai didi

iphone - 我可以在 fetchedResultsController 中使用多个sectionNameKeyPath吗?

转载 作者:行者123 更新时间:2023-12-03 20:15:28 25 4
gpt4 key购买 nike

我在核心数据中有一个“账单”列表。对于每个账单,我希望 UITableViewController 中有一个单独的部分。我希望这些账单按金额排序。

为此,我使用 fetchedResultsController。每张账单都有金额和账单 ID。我已将 sortDescriptor 设为“amount”,将sectionNameKeyPath 设为“billID”。这会导致问题,因为 didChangeSection 在需要时没有被正确调用。

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

看起来 Apple 文档说主排序描述符需要与sectionNameKeyPath 相同。

我将 sortDescriptor 保留为“amount”,并将sectionNameKeyPath 更改为“billID”。这已经修复了该行为。但是,如果两张账单具有相同的“金额”,它们将位于同一部分,这是我不希望的。无论如何,我是否可以让sectionNameKeyPath依赖于两个变量,例如“金额”和“billID”,这样我就可以保证每个账单都有一个单独的部分,但仍按金额排序?

提前致谢。

最佳答案

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

试试这个排序 sortDecriptors

request.sortDescriptors= @[billIdSortDescriptor, amountSortDescriptor];

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

关于iphone - 我可以在 fetchedResultsController 中使用多个sectionNameKeyPath吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com