我将查询的限制设置为10例如然后我想获得数据集中的最后10个结果并按升序时间排序! 好的,我知道我可以补充一下:
[messages addDescendingOrder:@"createdAt"];
//OR
[messages addAscendingOrder:@"createdAt"];
但这样做是因为它获得了前10条记录或最后10条记录......它不是自己对结果进行排序!!升序基本上是设置结果开始的位置......从底部或从顶部开始。但是我希望结果集返回到最后10个结果,并且这些结果按升序排列。相反,我得到了最后10个结果,但是在表格中我最新的一个在顶部,而最旧的一个在集合中是表格中的最后一个单元格......我希望反过来......
有没有办法让Parse处理这个而不是在设备本身上做逻辑? 非常感谢任何帮助。
答案 0 :(得分: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