融云头像问题

众所周知,融云即时通讯,是当下比较流行的即时通讯开源框架,它在不管是性能上还是实用上都很棒真的棒,所以很多公司在使用即时通讯上都用了融云,可能大家都遇到了一个问题,就是融云的头像显示问题,头像显示在信息列表上还有聊天界面都有,融云给出了文档,说的还是比较详细,是有一个这个代理方法

- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion

然后在代理方法里面办事情就行了,但是可能就是好多朋友用的时候总是不显示,或者说请求到数据得到的太慢,不要慌 我这里有一个方法,可能性能方面我没有考虑昂,不过很实用;下面是代码

//这里是融云的代理方法
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion{
//这里的Loginuserinfo是我自己的信息 我定义了一个全局存在沙河里面的。
    if ([userId isEqualToString:[NSString stringWithFormat:@"%i",LoginUserInfo.userId]]) {
        RCUserInfo *user = [[RCUserInfo alloc]init];
        user.userId=[NSString stringWithFormat:@"%i",LoginUserInfo.userId];
        user.name=LoginUserInfo.userName;
        user.portraitUri=LoginUserInfo.userAvata;
        return completion(user);
    }
     //这里是别人的信息判断我相信大家都可以看的懂 
    if (![userId isEqualToString:[NSString stringWithFormat:@"%i",LoginUserInfo.userId]]) {
    //我在这里实例化了融云的用户信息
         _userInfo2=[[RCUserInfo alloc]init];
 //我在这里开了一个线程  gcd 相信大家都能看懂       dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
 //我给力一个判断 就是用户不为空的时候再进这个网络请求方法
                       if (_userInfo2 != nil) {
                dispatch_async(dispatch_get_main_queue(), ^{
                //我的网络请求方法
                    [self requestRounHead:userId];


                    return completion(_userInfo2);
                });   
            }   
        });


    }


    return completion(nil);

}

这是在融云代理方法里面的写的代码。写了这里的代码以后基本就完成的差不多了,急性子的人喜欢马上显示出头像,说的好听点就是为了增加用户体验 ok, 下面关键

//这两句代码是我在网络请求结束的时候写的
//第一句是更新了用户的信息
    [[RCIM sharedRCIM]refreshUserInfoCache:_userInfo2 withUserId:userId];
    //我发这个通知就是强制刷新了融云的信息列表  写完之后大功告成
            [[NSNotificationCenter defaultCenter]postNotificationName:@"刷新列表谢谢" object:nil];

希望对大家有所帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值