swift3.0 環(huán)信的會(huì)話列表的頭像和名稱顯示

參考環(huán)信官方解決方案。

  • 使用消息擴(kuò)展,每條消息都包含發(fā)送者的用戶信息和發(fā)送時(shí)間(user_id,nick_name,user_photo,send_time)

  • 本地?cái)?shù)據(jù)庫,使用realm,在獲取到用戶信息(后臺返回)時(shí),存儲(chǔ)更新到本地?cái)?shù)據(jù)庫

    /// 用戶信息模型
    class UserInfo: Object {
        dynamic var nick_name = ""
        dynamic var user_photo = ""
        dynamic var user_id = ""
        dynamic var update_tome = "" //更新時(shí)間
    
        // 設(shè)置主鍵
        override static func primaryKey() -> String? {
            return "user_id"
        
        }
        // 設(shè)置搜索字段
        override static func indexedProperties() -> [String] {
            return ["user_id"]
        }
    
        /// 更新用戶信息
        class func updateUserInfo(user_id: String,nick_name: String,user_photo: String){
            let realm = try! Realm()
            var value =  ["user_id": user_id]
            if user_photo.length > 0 {
                value["user_photo"] = user_photo
            }
            if nick_name.length > 0 {
                value["nick_name"] = nick_name  
            }
            try! realm.write {
                realm.create(UserInfo.self,value: value, update: true)
            }
        }
    
        /// 通過UserID搜索用戶
        class func searchUser(user_id: String) -> UserInfo? {
            let realm = try! Realm()
            let result = realm.objects(UserInfo.self).filter("user_id == \"\(user_id)\"")
            if result.count > 0 {
                return result[0]
            }
            return nil
        }
    }
    
    
  • 實(shí)現(xiàn)EaseConversationListViewController的EaseConversationListViewControllerDataSource協(xié)議

         func conversationListViewController(_ conversationListViewController: EaseConversationListViewController!, modelFor conversation: EMConversation!) -> IConversationModel! {
            通過擴(kuò)展消息獲取user_id
            通過user_id搜索用戶信息
            如果搜到用戶信息,則對用戶信息鐘的update_time,和消息擴(kuò)展的send_time對比,如果send_time是最近的,則更新本地?cái)?shù)據(jù),然后在使用用戶信息
            沒有搜到直接用擴(kuò)展消息中的用戶信息,并更新到本地
        }
    
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • # 一度蜜v3.0協(xié)議 --- # 交互協(xié)議 [TOC] ## 協(xié)議說明 ### 請求參數(shù) 下表列出了v3.0版協(xié)...
    c5e350bc5b40閱讀 735評論 0 0
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,634評論 0 7
  • :::前面在小區(qū)里碰到一個(gè)之前給我送過多次外賣的小哥,沒有員工制服,沒有騎車,只是在閑逛,我打了個(gè)招呼,說怎么休假...
    3e6dbf276266閱讀 455評論 0 0
  • 在上一周的主題當(dāng)中,我們明確了:人、是跟環(huán)境融為一體的,每個(gè)人的認(rèn)知體系里都有著抹不去的環(huán)境的烙印,每個(gè)人也都在努...
    韓勇國閱讀 499評論 0 8

友情鏈接更多精彩內(nèi)容