我正在使用 Parse.com 来存储我的用户信息,但很难弄清楚以下内容。
使用 Parse.com 我有三个类:
1) 用户
2)地点
3) 保存地点
SavedPlace 是一个将用户与用户保存的地点相关联的类。对于 SavedPlace 中的每个位置,都有 User 和 Place 指针以及用户创建的一些附加注释。
在我的应用程序中,我想将用户保存的地点列表检索到带有地点信息(即名称、位置、图像)和注释的 TableView 中。
我目前的方法是:
1) 查询所有已保存地点的 SavedPlace 并返回一个地点对象 ID 数组
2) 在Place类中查找每个objectID并返回Place信息。
有没有一种更有效的方法可以让我为所有用户保存的地点查询一次 Parse 并从 Place 类返回所有相关信息?
谢谢
最佳答案
有。
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/
关于swift - Parse.com Swift 多类查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276481/