Как получить объекты с Parse.com, ключ которых соответствует определенному значению
Я хочу получить массив пользователей, которые "ищут", а затем случайным образом выбрать одного из массива и добавить его в качестве "партнера". Вот что у меня есть:
- (IBAction)searchForPlayer:(id)sender {
[self.currentUser setObject:@1 forKey:@"searching"];
[self.currentUser saveInBackground];
PFQuery *findPotential = [PFQuery queryWithClassName:@"User"];
[findPotential whereKey:@"searching" notEqualTo:@0];
[findPotential findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSLog(@"Potential players: %i",objects.count);
if(error){
NSLog(@"Error!");
}
else {
if (objects.count == 0) {
NSLog(@"None found");
}
else {
int partnerNum = arc4random_uniform(objects.count)+1;
PFUser *newPartner = [objects objectAtIndex:partnerNum];
PFRelation *partners = [self.currentUser relationForKey:@"partners"];
[partners addObject:newPartner];
}
}
}];
[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if(error){
NSLog(@"Error!");
}
}];
}
По какой-то причине ни один объект не был найден с указанным ограничением (whereKey:@"search" notEqualTo:@0). Кто-нибудь знает, как это исправить?
Спасибо!
1 ответ
Решение
Немедленная ошибка в вашем объявлении запроса. Класс users не представлен строкой "Users", это фактически "_Users". Тем не менее, вы должны создать запрос пользователей с:
PFQuery *findPotential = [PFUser query];