两个查询约束在一个关键与parsing和Swift

大家好,我试图得到所有的用户名不包含在数组中的用户名( dontShowUsers ,我也想用variablesname来限制查询,这样可以得到所有用户名和用户名相同的用户。做这个:

 findUsers.whereKey("username",containsString:name) findUsers.whereKey("username",notContainedIn:dontShowUsers) 

每个用户显示。 它同时处理这两个查询,并将它们加在一起。 我想用第二个whereKey约束第一个whereKey 。 最好的办法是什么呢?

这是一个方法

 println(geoPoint) user["location"] = geoPoint let rejectedUsers: [String] = user["rejected"].copy() as [String] let acceptedUsers: [String] = user["accepted"].copy() as [String] let ignoredUsers = rejectedUsers + acceptedUsers var query = PFUser.query() query.whereKey("location", nearGeoPoint: geoPoint) query.whereKey("username", notEqualTo: user.username) query.whereKey("gender", equalTo: user["interestedIn"]) query.whereKey("username", notContainedIn: ignoredUsers) query.limit = 10 query.findObjectsInBackgroundWithBlock({ (objects: [AnyObject]!, error2: NSError!) -> Void in if error2 != nil { println(error2) } else { if objects.isEmpty { println("empty query") } else { for object in objects { self.usernames.append(object.username) self.userImages.append(object["image"] as NSData) 

注意我是如何复制我的用户[“被拒绝”]数组从parsing然后我用+创build“ignoredUsers”

那么我能够使用:

query.whereKey(“username”,notContainedIn:ignoredUsers)

我会说,你可以解决这个问题,而不使用2个约束,就在执行查询之前,检查数组中是否有名字 ,如果不是,就执行查询。