【发布时间】:2016-01-22 18:21:55
【问题描述】:
我在 Parse 中有两个类,一个包含用户喜欢的图像的详细信息(“喜欢”),第二个类列出了正在关注其他用户的用户(“关注”)。
在我的PFQueryViewController 中,我可以在queryForTable() 中创建一个执行以下操作的查询:
//get username of users being followed
let query:PFQuery = PFQuery(className:"Follows")
query.whereKey("fromUser", equalTo: (PFUser.currentUser()?.username)!)
//get images of all followed users
let imageQuery:PFQuery = PFQuery(className: "Liked")
imageQuery.whereKey("username", matchesKey: "toUser", inQuery: query)
//get images current user liked
let userImagesQuery:PFQuery = PFQuery(className: "Liked")
userImagesQuery.whereKey("username", equalTo: (PFUser.currentUser()?.username)!)
//combine liked images of following and current user
let combinedQuery:PFQuery = PFQuery.orQueryWithSubqueries([imageQuery,userImagesQuery])
if(objects?.count == 0)
{
combinedQuery.cachePolicy = PFCachePolicy.CacheThenNetwork
}
combinedQuery.orderByDescending("createdAt")
return combinedQuery
这适用于我能够通过查询每个单元格的对象的imageID 在cellForRowAtIndexPath 中显示用户喜欢的图像以及被关注的用户。但是,多个用户可以点赞同一张图片,因此如果用户和他们关注的人喜欢同一张图片,则该图片将在表格中出现两次。
有没有办法强制查询在根据ImageID 键找到重复对象时忽略对象?
我知道这可以通过执行查询和遍历对象来完成,但是这在这种情况下不起作用,因为我需要在queryForTable() 返回查询之前删除重复项。
【问题讨论】:
标签: ios swift parse-platform pfquery