我正在使用Parse.com存储我的用户信息,但很难想出以下内容。
使用Parse.com我有三个班级:
1)用户
2)放置
3)SavedPlace
SavedPlace是一个将用户与用户保存的地方相关联的类。对于SavedPlace中的每个位置,都有User和Place指针以及用户创建的一些其他注释。
在我的应用程序中,我想使用场所信息(即名称,位置,图像)和注释将用户保存的场所列表检索到TableView中。
我目前的方法是:
1)查询所有已保存位置的SavedPlace并返回Place objectIDs数组
2)在Place类中查找每个objectID并返回Place信息。
是否有更有效的方法可以为所有用户保存的地点查询Parse一次并返回Place类的所有相关信息?
由于
答案 0 :(得分:0)
有。
PFQuery
有一个名为includeKey:
的方法,它允许您添加随查询一起返回的对象,在您的情况下,您希望获取与SavedPlace实例相关的用户和位置,对?所以你这样做:
let query = SavedPlace.query()
query.includeKey("place")
query.includeKey("user")
query.findObjects...
结果将是SavedPlace
对象的列表,其中包含user
和place
的指针,其中这些对象已被提取,因此所有字段(不是指针) )将为您提供。
您甚至可以在该方法中使用点表示法,因此如果您的Place
类中有一个名为Country
的指针,并且您想要同时获取它,则可以添加query.includeKey("place.country")
它将包含在查询中。
关于这一点最好的事情是,它将算作一次通话。
以下是有关includeKey
http://blog.parse.com/announcements/queries-for-relational-data/