2014-07-08 36 views
0

我將查詢的限制設置爲10例如,然後我想獲取數據集中的最後10個結果並按升序排序! 好吧,我知道我可以添加:Parse的排序結果不能按預期的那樣與query.limit一起工作

[messages addDescendingOrder:@"createdAt"]; 
//OR 
[messages addAscendingOrder:@"createdAt"]; 

但是這是做的是,它是獲得第10條記錄或最後10個記錄......這不是排序結果自己!升序基本上是設置結果開始的位置......從底部或從頂部開始。但我希望結果集回到最後10個結果,並且結果按升序排列。相反,我得到的最後10個結果,但在表中,我有最新的一個在頂部和最老的一個在這個表中最後一個單元...我想要相反的...

有沒有辦法讓Parse處理這個問題,而不是讓邏輯在設備本身上做到這一點? 任何幫助,不勝感激。

回答

1

好的,對於其他遇到類似問題的人來說,解決方法是將您從查詢中返回的結果數組反轉回Parse。完成:) 快樂編碼!

我使用的是在一個不同的問題發現了大約倒車StackOverflow上陣列的代碼,但在這裏再次是代碼:

@implementation NSArray (Reverse) 

- (NSArray *)reversedArray { 
    NSMutableArray *array = [NSMutableArray arrayWithCapacity:[self count]]; 
    NSEnumerator *enumerator = [self reverseObjectEnumerator]; 
    for (id element in enumerator) { 
     [array addObject:element]; 
    } 
    return array; 
} 

@end 

@implementation NSMutableArray (Reverse) 

- (void)reverse { 
    if ([self count] == 0) 
     return; 
    NSUInteger i = 0; 
    NSUInteger j = [self count] - 1; 
    while (i < j) { 
     [self exchangeObjectAtIndex:i 
        withObjectAtIndex:j]; 

     i++; 
     j--; 
    } 
} 

@end 
相關問題