2012-09-12 38 views
1

我有一个NSFetchedResultsController,我有排序描述符数组的第一个排序描述符与sectionNameKeyPath相同,因此给了我不同的部分。但是我想让第二个排序描述符成为不同的pr节。有没有好的方法来做到这一点,而不必将数据推入数组中,然后我再次排序?NSFetchedResultsController具有不同的排序描述符?

干杯

回答

0

你已经建议使用不同的阵列内部的每个部分。这不是一个坏的方法,因为实际上你只需要担心显示的对象和真实对象的索引路径之间的映射。

换句话说,您知道表视图正在显示的少量项目,因为它会向控制器询问这些项目。您不必直接从FRC中的抓取结果数组中取回项目。

找到索引路径,找出正在请求的部分,并抓取该部分的预先排序的行。由于数据量非常小,因此您可能会随时按需要对它们进行排序。

另一种方法是向数据模型中添加另一个属性。此属性表示该部分内的排序顺序,您可以将其设置为您想要的任何值,因为整个数组将按部分排序,然后按该属性排序。

另外,您可能会发现使用代理对象作为抓取结果控制器的前端更容易。与“多数组”方法类似,您只需使用代理对象,该代理对象在表视图请求该部分时在每个部分上应用唯一的排序描述符,并以自己的排序顺序返回对象。

相关问题