简体   繁体   English

如何在目标c中使用xmpp框架显示用户头像图像?

[英]How can i show user avatar image using xmpp framework in objective c?

I am creating a chat application for iPhone using XMPPFramework. 我正在使用XMPPFramework为iPhone创建一个聊天应用程序。 I want to display user list in UITableView with user name and photo, and for this I am using 我想在UITableView中显示用户名和照片的用户列表,为此我正在使用

NSData *photoData = [[[self appDelegate] xmppvCardAvatarModule] photoDataForJID:user.jid];
if (photoData != nil)
    cell.imageView.image = [UIImage imageWithData:photoData];
else
    cell.imageView.image = [UIImage imageNamed:@"blank_image~iPhone.png"];

but it returns nil always. 但它总是返回零。

Please help.. 请帮忙..

NSData *photoData = UIImagePNGRepresentation([[[self appDelegate] xmppvCardAvatarModule] photoDataForJID:user.jid]);

if (photoData)
    cell.imageView.image = [UIImage imageWithData:photoData];
else
    cell.imageView.image = [UIImage imageNamed:@"blank_image~iPhone.png"];

This code is working fine. 这段代码工作正常。

photoDataForJID method returns NSData. photoDataForJID方法返回NSData。

NSData *avtarData = [[[self appDelegate] xmppvCardAvatarModule] photoDataForJID:user.jid];

if (avtarData)
    cell.imageView.image = [UIImage imageWithData:photoData];
else
    cell.imageView.image = [UIImage imageNamed:@"blank_image~iPhone.png"];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
    dispatch_async(queue, ^{

             NSData *imgData = UIImagePNGRepresentation([[[self appDelegate] xmppvCardAvatarModule] photoDataForJID:user.jid]);
            dispatch_async(dispatch_get_main_queue(), ^{


if (imgData)
    cell.imageView.image = [UIImage imageWithData:imgData];
else
    cell.imageView.image = [UIImage imageNamed:@"default_user.png"];
            });
        });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM