ios 刷新头像_iOS 融云头像显示问题

与融云头像显示有关的方法:

1. 设置用户信息数据源代理

[[RCIM sharedRCIM] setUserInfoDataSource:self];

设置后需遵循该代理:

2. 接下来的方法是用户信息数据源代理的方法

/*!

获取用户信息

@param userId 用户ID

@param completion 获取用户信息完成之后需要执行的Block [userInfo:该用户ID对应的用户信息]

@discussion SDK通过此方法获取用户信息并显示,请在completion中返回该用户ID对应的用户信息。

在您设置了用户信息提供者之后,SDK在需要显示用户信息的时候,会调用此方法,向您请求用户信息用于显示。

*/

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

// simple

RCUserInfo *user = [[RCUserInfo alloc]init];

user.userId = @"0001";// id

user.name = @"昵称";

user.portraitUri = @"https://www.baidu.com/img/bd_logo1.png";// 头像的url

return completion(user);

}

其中的参数介绍详见以上.

注意: 默认情况下程序启动后进入到融云消息列表的时候会触发上面的方法, 除非你设置了下面的持久化.

这里为方便以后找错, 建议大家不要打开下面的持久化;

建议大家将用户信息存到本地数据库中, 每次从本地取, 方便自己维护控制. 这样只有当有需要更新头像的时候再去修改本地存储的用户信息(包括id, 昵称, 头像url等).

3. 开启用户信息和群组信息持久化

//开启用户信息和群组信息的持久化

[RCIM sharedRCIM].enablePersistentUserInfoCache = YES;

其实融云想得也是挺周到的, 设置了这样的一个开关, 灵活地由开发者决定, 是否由融云帮助开发者做用户信息的本地存储, 注意: 如果由融云做本地持久化后, 便不会走上面2代理方法. 在这种情况下, 如果需要更新本地信息需要先关掉该开关, 然后在getUserInfo中进行新的持久化处理.

这里, 笔者的app由于用户头像url的拼接方式发生变化, 需要修改结构, 由于长时间未接触融云发现在改了getUserInfo中的头像拼接方法之后, 并未走getUserInfo方法. 这时才意识到开启了用户信息和群组信息的持久化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值