2014-10-23 3 views
1

В настоящее время я пытаюсь заполнить таблицу из массива имен пользователей.PFUser Query - Предупреждение: длительная работа выполняется в основном потоке - iOS

Для того, чтобы восстановить имена пользователей, я использую PFQuery, как описано в документации синтаксического анализа:

PFQuery *query = [PFUser query]; 
NSArray *users = [query findObjects]; 

Этот код технически работает. Тем не менее, я получаю это предупреждение:

Warning: A long-running operation is being executed on the main thread. 

Я попытался с помощью findObjectsInBackgroundWithBloc для того, чтобы получить список имен пользователей. Однако данные не извлекаются. Мой стол пуст.

В документации Parse объясняется, что запрос пользователей представляет собой отдельную концепцию, отличную от запроса обычных объектов, отсюда и мой код выше. Этот код берется прямо из документации Parse.

Может ли кто-нибудь указать мне в правильном направлении?

Спасибо, Miles

ответ

1

Ваш запрос занимает слишком много времени, чтобы вернуть данные, поэтому вы получаете это предупреждение

Вы можете использовать findObjectsInBackgroundWithBlock: как это.

PFQuery *query = [PFUser query]; 
NSMutableArray *users; 
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
if (!error) { 
    users = [[NSMutableArray alloc]initWithArray:objects]; 
    [tableView reloadData]; 
} 
}];