Я запускаю блок для подключения всех пользователей к учетной записи Quickblox
.Но после добавления имени пользователя в изменяемый массив количество массивов все еще показывает нуль или пустой массив.Невозможно добавить объект внутри блока
QBGeneralResponsePage *page = [QBGeneralResponsePage responsePageWithCurrentPage:1 perPage:10];
[QBRequest usersForPage:page successBlock:^(QBResponse *response, QBGeneralResponsePage *pageInformation, NSArray *users) {
for (int i =0; i<users.count; i++) {
QBUUser *user = [[QBUUser alloc]init];
[_contacts insertObject:user.login atIndex:i];
}
} errorBlock:^(QBResponse *response) {
}];
где вы используете массив в связи с этим кодом? aka, где вы проверяете размер массива, если функция 'usersForPage' является асинхронной, если вы пытались получить доступ к массиву сразу после этого, она была бы пустой, так как обработчик завершения для метода еще не выполнен – Fonix
Я использую этот код в viewDidLoad, где «_contacts» - это массив, я хочу использовать массив в методе labelTew .... Я думаю, что вы правы, функция является асинхронной. Что мне делать? –
hmm, трудно сказать только из этого фрагмента, но я полагаю, что ваша таблица основывает свои ячейки на массиве '_contacts', возможно, вам просто нужно перезагрузить tableview из обработчика завершения, и он просто сработает. в противном случае вам может понадобиться сделать что-то еще, что вам нужно сделать в обработчике завершения, а не после вызова функции – Fonix