在我正在使用的应用程序中,用户在列表中选择一组“标签”,然后我需要查询包含至少一个这些标签的所有项目。 为此,我想使用复合查询。
来自Parse.com的文档
var lotsOfWins = PFQuery(className:"Player")
lotsOfWins.whereKey("wins", greaterThan:150)
var fewWins = PFQuery(className:"Player")
fewWins.whereKey("wins", lessThan:5)
var query = PFQuery.orQueryWithSubqueries([lotsOfWins, fewWins])
query.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results contains players with lots of wins or only a few wins.
}
}
我的问题是我的标签是一个数组,我不知道有多少(可能是1,可能是3)。所以我想做一个for循环来为它们中的每一个创建一个查询。
我的问题是我无法访问此for循环之外的变量,我无法事先声明它们,因为我不知道会有多少。
看起来像这样的东西。
for(var i = 0; i < tags.count; i++){
let i = PFQuery(className: "items")
i.whereKey("tags", equalTo: tags[i])
}
var query = PFQuery.orQueryWithSubqueries([variable1, variable2 ... ])
query.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results
}
}
有没有办法实现这样的目标?