모든 사용자를 불러 오기 위해 블록을 실행 중입니다. Quickblox
계정으로 연결합니다. 그러나 사용자의 로그인 이름을 변경 가능한 배열에 추가 한 후에도 배열의 수는 여전히 0 또는 빈 배열을 표시합니다.블록 안에 객체를 추가 할 수 없습니다.
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) {
}];
여기서이 코드와 관련하여 배열을 사용하고 있습니까? 'usersForPage' 함수가 비동기식 인 경우 배열의 크기를 확인하고 있습니다. 나중에 배열에 액세스하려고하면 메서드의 완료 핸들러가 아직 실행되지 않았으므로 빈 상태가됩니다. – Fonix
사용하고 있습니다. viewDidLoad에서이 코드는 '_contacts'가 배열인데, 저는 tableVIewCell의 labelText에서 배열을 사용하고 싶습니다 ... 저는 여러분이 함수가 비동기 적이라고 생각합니다. 어떻게해야합니까? –
흠, 그냥이 스 니펫에서 말하기 힘들지 만, 당신의 테이블이'_contacts' 배열에 기초하고 있다고 가정합니다. 어쩌면 완성 처리기에서 tableview를 다시로드하면됩니다. 그렇지 않으면 완료 처리기 내부에서 수행해야하는 작업을 수행해야 할 수도 있습니다. 함수 호출 이후에는 수행하지 말아야합니다. – Fonix