PFQuery для загрузки объектов, хранящихся в массиве в PFObject, в PFQueryTableViewController

#ios #parse-platform #pfquery

#iOS #синтаксический анализ-платформа #pfquery

Вопрос:

У меня есть a PFQueryTableViewController , который отлично загружает Thread s (PFObjects с данными о теме форума).

При нажатии на ячейку PFQuertyTableViewController загружается новый Response s (PFObjects с данными об ответе пользователя в потоке), но у меня возникают проблемы с тем, чтобы убедиться, что они Response специфичны для этого Thread .

Я могу очень легко получить весь массив ответов,

 NSArray *responses = thread[@"responses"];
  

Однако я понятия не имею, как использовать это с a PFQuery в a PFQueryTableViewController . Вот что я попробовал:

Я получил эту идею из этого сообщения на форуме, но для меня это ничего не делает (self.objects пуст).

 - (PFQuery *)queryForTable
{
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
    NSArray *threads = self.topic[@"threads"];
    for (PFObject *thread in threads)
    {
        [thread fetchIfNeeded];
        NSLog(@"Thread title: %@", thread[@"title"]);
    }
    [query whereKey:@"title" containedIn:threads];
    return query;
}
  

Вывод:

 Thread title: This is my title for my post about "Animal Rights"
2014-06-20 10:25:11.730 ThumbWar[9185:60b] Fetched: <Thread:dasLkCUo77:(null)> {
    title = "This is my title for my post about "Animal Rights"";
    user = "<PFUser:********>";
}
  

Ответ №1:

Используйте includeKey, когда вы получаете потоки в своем первом PFQueryTableViewController . Потоки будут приходить со своими ответами, и вы можете передать эти ответы в нормальное UITableViewController состояние при нажатии на ячейку.

 - (PFQuery *)queryForTable {
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
    [query includeKey:@"responses"]; //Retrieve responses of threads
    [query orderByDescending:@"createdAt"]; //You may also sort Threads if you want 
    return query;
}
  

Комментарии:

1. Что, если вы не выполняли предыдущий запрос для потоков? Что, если вы начинаете ни с чего, кроме идентификатора объекта потока, и хотите получить запрос create one, который получает ответы этого потока для PFQueryTableViewController?