2016-01-20 22 views
1

我正在使用解析API与swift。在_User类中,我有一个名为posts的列,其中包含一个指针数组。这是通过调用使用指针数组来检索对象解析API

PFUser.currentUser().setObject([PFObject], forKey: "posts") 

数组的指针存储只是PFObject s表示用户已上传的帖子。这些帖子包含一些String值,如titlecomments,以及images的数组。

由于PFUser缓存在本地,有没有可能通过调用

currentUser().objectForKey("posts") 

检索图像或我必须做出一个查询电话吗?

我目前正在从指针数组获得objectId S,并呼吁query.findObjects()whereKey caintainedIn: [objectId]检索所有职位信息。但我认为如果我的帖子类变得非常大,这是非常低效的,因为posts职位中的每个objectId都与我的objectId相比。

有没有办法从一个指针数组中有效地检索所有对象?

+1

您应该在Parse中设置一个关系,因为您注意到,数组可能很快变得效率低下,并且Parse建议数组的大小小于100个元素 – pbush25

回答

0

根据来自@ pbush25的评论,一段关系可能更适合你。

对于一小组指针而言,您不需要执行查找请求,但对于User类,您需要fetchInBackgroundWithBlock:(只需一次,然后再尝试使用它)即可将自定义数据列作为获取currentUser()只包含标准数据列。

+0

如果我在每个帖子对象中添加关系列,我仍然需要使用whereKey equalTo:currentUser()正确吗?这与使用指针数组有什么不同,并使用whereKey containsIn [objectId]进行查询? – jackson

+0

如何获取指针指向数组中的所有对象?我只是试图避免使用whereKey equalTo:或containedIn:进行查询,因为这些函数将比较类中的所有对象与我的查询是否正确?我相信如果我的课程包含非常大量的对象,这会减慢。我第一次尝试使用objectIds获取所有对象,但我不认为有一个函数允许您检索一个对象数组,除非使用whereKey函数,这会减慢查询速度,如上所述。 – jackson

+0

您查询关系,没有参数 – Wain