Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何对子表的记录进行排序?解析API_Iphone_Objective C_Parse Platform - Fatal编程技术网

Iphone 如何对子表的记录进行排序?解析API

Iphone 如何对子表的记录进行排序?解析API,iphone,objective-c,parse-platform,Iphone,Objective C,Parse Platform,我将Parse用作后端(parseapi:)。我正在寻找排序子表记录的方法 表结构 用户 objectId、名、姓、年龄 朋友 objectId,myId,FriendId FriendId是指向用户表的指针 现在我想检索Friend表的所有记录,其中myId=X,记录应该基于FirstName进行短接 任何帮助都将不胜感激 编辑: 在iPhone端对记录进行排序将不起作用,因为解析一次只提供1000条记录,但我的表有3000多条记录。 我只有一种方法,那就是递归地获取所有记录并对它们进行排序。

我将Parse用作后端(parseapi:)。我正在寻找排序子表记录的方法

表结构

用户

objectId、名、姓、年龄

朋友

objectId,myId,FriendId

FriendId
是指向用户表的指针

现在我想检索Friend表的所有记录,其中
myId=X
,记录应该基于FirstName进行短接

任何帮助都将不胜感激

编辑: 在iPhone端对记录进行排序将不起作用,因为解析一次只提供1000条记录,但我的表有3000多条记录。
我只有一种方法,那就是递归地获取所有记录并对它们进行排序。但我正在寻找在服务器端而不是客户端对记录进行排序的方法。

目前,使用Parse的内置查询API无法做到这一点。你必须在取出记录后对它们进行排序。下面是一个例子:

PFQuery * query = [PFQuery queryWithClassName:@"Friend"];
[query includeKey:@"friendId"];

NSArray * friends = [query findObjects];
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"friendId.FirstName" 
                                                            ascending:Yes];

NSArray * sortedFriends = [friends sortedArrayUsingDescriptors:@[descriptor]];
// now sorted by the first name of User

这假设您已经正确设置了指向用户类的指针

我知道这种方法,请参阅我的编辑,但很抱歉,我没有澄清这个问题,就像我正在寻找一种在服务器端对记录进行排序的方法一样+感谢你的努力哦,我明白了,是的,不幸的是,他们目前不支持这一点。我遇到了同样的问题。为什么您需要在服务器端进行排序?我想在我的应用程序中保留分页,其中一个原因是太少保留内存占用查看您的编辑,有点理解。那么您想要前1000个排序元素?在iOS上,除非你下载的是大图像或类似的东西,否则内存占用非常少。数据不占用太多空间。不过,对元素进行排序可能会占用很多时间,也可能不会占用很多时间。此外,您可以编写一个javascript云函数来返回1000个已排序的元素,但这会变得很复杂。