【发布时间】:2014-10-27 06:31:24
【问题描述】:
我需要在 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);
}
}
}
【问题讨论】:
标签: ios iphone uitableview quickblox avatar