注册

如果保存EMConversation的ext属性?

现在我需要实现置顶的功能,每次用户操作之后
BOOL tag = [[EaseMob sharedInstance].chatManager insertConversationToDB:model.conversation append2Chat:NO];
我调用这个方法保存,而且也保存成功了.但是之后登录App,还是获取不到上次保存的ext.
已邀请:
好了~问题解决了,我在ext里面保存了NSDate类型的数据,无法保存到数据库里面去.我改了保存时间戳.谢谢大家了!!!!!!
设置conversation.ext成功了吗,设置后打印conversation.ext看有没有值。
这个设置了是不支持漫游的,也就是说到另一台设备登录之后就需要重新设置,如果删除了会话,新会话也是需要重新设置。
conversation.ext 赋值的时候就会存进数据库的。你再登录的时候,在会话界面先load一下conversation,loadAllCOnversationsFromDataBase
这是置顶之后的数据


置顶后刷新界面.png



这是重新登录App的数据


重新登录App.png




数据是在tableViewDidTriggerHeaderRefresh方法里面打印的
 
登录成功的block中设置该代码
//获取数据库中数据
             [[EaseMob sharedInstance].chatManager loadDataFromDatabase];
如果还不行,到沙河中看一下该会话有没有ext
conversation的扩展  在赋值之后  就存进数据库了。你重新登录  从DB里load一下数据,再去取。
这是我找到的数据库的内容

CEFC8A30-11A5-4A18-A6D6-FE5028D5BDD4.png


 
这是我设置ext的代码,确实没有自动保存下来

F88BAFA8-EA67-4992-903A-F36C6A4D70A5.png

我赋值之后,打印了ext,然后手动保存了Conversation

9D9E3802-8EBC-47AC-A769-AD3F43A385BA.png


 
但是ext还是空的
conversation.ext = @{"key","value"};需要这么设置会话的扩展的,你这么赋值了么
你先创建会话,然后将会话的这个属性,赋值,之后,就不用调用方法了,在进来看看能不能取到

要回复问题请先登录注册