Я строю своего рода горячее или не стильное приложение в Swift, где пользователь может голосовать: HOT, NOT и MAYBE на изображении соответственно.Как сделать запрос «не в» в парсе
За каждый раз, когда пользователь попадает на изображение, они голосуют, нажимая IBAction, который запускает запрос, который отображает результат общего количества голосов и итоговых чисел из Parse, как показано в моем коде ниже.
Я планирую иметь 1000 изображений.
Могу ли я предварительно загрузить некоторые идентификаторы объектов, соответствующие каждому соответствующему изображению, а затем, когда пользователь голосует на изображении, данные уже предварительно загружены/запрошены из разбора? Как я могу это сделать? В моем предыдущем вопросе кто-то рекомендовал использовать запрос NOT IN в Parse. Как сделать запрос NOT IN в Parse и как я буду это делать?
На данный момент я пишу запрос для каждого ObjectID, который будет принимать 1000 запросов от 1000 различных изображений ... Очевидно, что это невозможно.
Дальнейшие объяснения код:
переменная swipePosition является просто счетчик, который подсчитывает, какое изображение пользователь находится на. Хранимые изображения находятся в массиве, который теперь хранится на Xcode. Может быть, они могут быть предварительно загружены, если они хранятся в Parse?
(я только показывать функцию «hotButtonQuery», но есть также функция Не и Может buttonQuery.)
Есть ли способ, чтобы просто этот код так, чтобы это масштабируемая? Потому что на данный момент я не могу масштабировать последние 25 изображений.
func hotButtonQuery() {
if swipePosition == 0 {
var query = PFQuery(className:"UserData")
query.getObjectInBackgroundWithId("RlvK3GhfqE") {
(userData: PFObject!, error: NSError!) -> Void in
if error != nil {
println(error)
}
else {
userData.incrementKey("totalVotes", byAmount: 1)
userData.incrementKey("hot", byAmount: 1)
var updateTotalVotesUILabel = userData.objectForKey("totalVotes") as NSInteger
var updateHotsUILabel = userData.objectForKey("hot") as NSInteger
userData.saveInBackground()
println("parse was updated!")
self.totalVotesLabel.text = String(updateTotalVotesUILabel)
self.totalHotsLabel.text = String(updateHotsUILabel)
}
}
} else if swipePosition == 1 {
var query = PFQuery(className:"UserData")
query.getObjectInBackgroundWithId("30WlVtgurP") {
(userData: PFObject!, error: NSError!) -> Void in
if error != nil {
println(error)
}
else {
userData.incrementKey("totalVotes", byAmount: 1)
userData.incrementKey("hot", byAmount: 1)
var updateTotalVotesUILabel = userData.objectForKey("totalVotes") as NSInteger
var updateHotsUILabel = userData.objectForKey("hot") as NSInteger
//println(userData.objectForKey("totalVotes"))
//println("total HOTs:")
//println(userData.objectForKey("hot"))
userData.saveInBackground()
println("parse was updated!")
self.totalVotesLabel.text = String(updateTotalVotesUILabel)
self.totalHotsLabel.text = String(updateHotsUILabel)
}
}
} else if swipePosition == 3 {
var query = PFQuery(className:"UserData")
query.getObjectInBackgroundWithId("5D6ARjk3xS") {
(userData: PFObject!, error: NSError!) -> Void in
if error != nil {
println(error)
}
else {
userData.incrementKey("totalVotes", byAmount: 1)
userData.incrementKey("hot", byAmount: 1)
var updateTotalVotesUILabel = userData.objectForKey("totalVotes") as NSInteger
var updateHotsUILabel = userData.objectForKey("hot") as NSInteger
//println(userData.objectForKey("totalVotes"))
//println("total HOTs:")
//println(userData.objectForKey("hot"))
userData.saveInBackground()
println("parse was updated!")
self.totalVotesLabel.text = String(updateTotalVotesUILabel)
self.totalHotsLabel.text = String(updateHotsUILabel)
}
}
}
Так что бы это сделать? – lukaivicev
Первый запрос получает всех пользователей. Внутренний запрос связывает всех друзей, связанных с PFRelation, с текущим пользователем. Последняя строка переводится как «Получить всех пользователей, с которыми я не знаком». – ericgu
Большое спасибо. Любая идея, как это может помочь мне с моим кодом? – lukaivicev