【发布时间】:2012-07-20 19:19:37
【问题描述】:
我有一个由 NSFetchedResultController 管理的 tableview。 由于我想获取最近添加的记录,我将控制器设置如下:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"timeStamp >= %@",someDate];
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"timeStamp" ascending:NO];
request.sortDescriptors = [NSArray arrayWithObject:descriptor];
request.fetchLimit = 100;
因此,结果将按时间降序排列。
但我也希望将结果按时间升序放置在 tableview 中。
我如何重新排序结果?
将结果放入另一个数组并重新排序并在每次更新获取结果后都执行相同的操作?
【问题讨论】:
-
通过设置 sortDescriptor 升序 no ,它们将显示在表格中也升序 no 。这不是我想要的。(我希望它们按时间升序被放置在表中......)
-
为什么不运行两次呢?顺便说一句,如果你有一个 fetchLimit 100 recs,这不意味着你有一天会从 100 recs 中得到所有东西吗?因此,如果您想要相反的结果,那么您有一天会得到+100,但是如果有一天从现在开始有 1000 个记录距离,那么您将不会得到相同的记录。
-
@Panagiotis - 请参阅下面的答案。
标签: ios core-data tableview nsfetchrequest