iOS-环信3.0联系人列表和未读消息提示,头像和昵称设置,消息实时更新

搞来搞去,环信3.0也挺简单的.一步步说

1.联系人列表

新建类LianxirenListViewController集成自EaseUsersListViewController.

在LianxirenListViewController类里边可以自由设置联系人tabview,自定义cell,EaseUsersListViewController类里已经有刷新功能,在自己的类里边可以省去.

2.添加未读消息提示

NSArray * allCon = [[EMClient sharedClient].chatManager getAllConversations];

//获取所有的聊天

          for (EMConversation * con in allCon) {

                        NSLog(@"%@",con.conversationId);//聊天id

                        EMConversation * conKOKO = [[EMClient sharedClient].chatManager getConversation:con.conversationId type:EMConversationTypeChat createIfNotExist:YES];

                        NSLog(@"未读消息数量:%d",conKOKO.unreadMessagesCount);

                        NSLog(@"%@",conKOKO.latestMessage);

 

//循环里边是通过判断聊天人id和聊天id是不是同一个,如果是的话在自己的model里添加未读消息数量.

                        for (HomeModel * modelKO in _tableData) {

                            if (conKOKO.unreadMessagesCount != 0 && [conKOKO.conversationId isEqualToString:modelKO.im_username]) {

                                [modelKO setUnreadMsgCount:conKOKO.unreadMessagesCount];

                            }

//                            if ([modelKO.im_username isEqualToString:conKOKO.conversationId]) {

//                            }

                        }

                    }

3.设置头像和昵称

在EaseBaseMessageCell类中找setModel方法

#pragma mark - setter

 

- (void)setModel:(id<IMessageModel>)model

{

    [super setModel:model];

    

    EduUserInfoCenter * manager = [EduUserInfoCenter managerCenter];

    LoginModel * loginModel = [manager valueWithKey:USER_MODEL];

//我是从联系人列表中获取头像和名字,存入NSUserDefaults,然后在这里取出显示出来.

    NSString * img = [[NSUserDefaults standardUserDefaults] objectForKey:@"TEA_IMG"];

    NSString * name = [[NSUserDefaults standardUserDefaults] objectForKey:@"TEA_NAME"];

    if (model.isSender) {

//设置自己的头像昵称

        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:loginModel.headImg] placeholderImage:[UIImage imageNamed:@"占位图"]];

        _nameLabel.text = loginModel.nickname;

    } else {

//设置对方的头像昵称

        if (img) {

            [self.avatarView sd_setImageWithURL:[NSURL URLWithString:img] placeholderImage:model.avatarImage];

            _nameLabel.text = name;

        } else {

            self.avatarView.image = model.avatarImage;

            _nameLabel.text = model.nickname;

        }

    }

//需求:在联系人列表实现消息实时更新

在列表界面注册代理EMChatManagerDelegate,EMClientDelegate

    [[EMClient sharedClient].chatManager addDelegate:self delegateQueue:nil];

    实现代理方法

- (void)messagesDidReceive:(NSArray *)aMessages;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值