我有一個由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升序否,它們會在表中也顯示升序號。這不是我想要的(我希望它們按時間上升是放在桌上......) – longway 2012-07-20 19:53:38
爲什麼你不跑它們兩次?順便說一句,如果你有一個fetchLimit 100 recs並不意味着你會從某一天得到一切--100 recs?所以如果你想得到相反的結果,你會得到一天+100,但是如果有一天有一個1000 recs的距離,那麼你將不會得到相同的記錄。 – Panagiotis 2012-07-20 21:51:08
@Panagiotis - 見下面的答案。 – isaac 2012-07-20 22:12:09