Мне нужно отобразить изображения аватаров всего списка друзей внутри UITableView.
Я мог бы также спросить об этом на форумах Quickblox, но, похоже, их поддержка там менее отзывчива.
Я прочитал документацию Quickblox, но не могу найти эффективный способ получения изображений аватара пользователя. Я вижу только [QBContent TDownloadFileWithBlobID]
, но не знаю, как им пользоваться.
Я получаю контакты с помощью chatContactListDidChange
вызова делегата, как показано ниже. Как я могу получить изображения аватаров всех этих пользователей?
Обратите внимание, что friendsArray - это мой источник данных для представления таблицы, поэтому в идеале я хотел бы хранить изображения аватаров как часть того же массива.
- (void)chatContactListDidChange:(QBContactList *)contactList
{
NSLog(@"contact list changed");
NSLog(@"current contact list %@", [QBChat instance].contactList);
[self fetchContacts:[QBChat instance].contactList.contacts];
}
- (void) fetchContacts : (NSArray *) contactArray
{
NSMutableArray * userIDArray = [[NSMutableArray alloc] init];
for (QBContactListItem * contact in contactArray)
{
NSString * userIDString = [NSString stringWithFormat:@"%ld", (unsigned long)contact.userID];
[userIDArray addObject:userIDString];
}
if (!userIDArray.count)
{
return;
}
NSString * requestString = [userIDArray componentsJoinedByString:@","];
[QBUsers usersWithIDs:requestString delegate:self context:@"FetchFriends"];
}
- (void)completedWithResult:(Result *)result context:(void *)contextInfo
{
if([result isKindOfClass:[QBUUserPagedResult class]])
{
NSString * context = (__bridge NSString *)contextInfo;
// Success result
if(result.success)
{
QBUUserPagedResult * pagedResult = (QBUUserPagedResult *)result;
if ([context isEqualToString:@"FetchFriends"])
{
if (friendsArray)
{
[friendsArray removeAllObjects];
}
else
{
friendsArray = [[NSMutableArray alloc] init];
}
QBUUser * user = [pagedResult.users objectAtIndex:0];
//user.blobID
friendsArray addObjectsFromArray:pagedResult.users];
}
}
else
{
NSLog(@"Error getting users: %@", context);
}
}
}