conversation setExtraValue多次,再取值时不对

ios
jmessage
标签: #<Tag:0x00007f213e7ed220> #<Tag:0x00007f213e7ecfa0>

(robot1) #1

调用 JMSGConversation 的方法

- (void)setExtraValue:(NSString *JMSG_NULLABLE)value forKey:(NSString *JMSG_NONNULL)key;

同一时间顺序插入
比如

[conversation setExtraValue:@"1"  forKey:@"key"];
[conversation setExtraValue:@"2"  forKey:@"key"];
[conversation setExtraValue:@"3"  forKey:@"key"];

有可能再用getExtraValueForKey取值时,值为@"1"或@“2”,其实希望的结果是@“3”


#2

1、 SDK 版本多少?

2、详细描述下你的操作步骤,所涉及的所有的 API,是创建单聊?是消息收到后去获取还是本机本账户获取。

3、你是说获取@“3”对应的 key 的时候,实际取到的并不是你所传的这个值?将完整的测试日志提供出来


(robot1) #3

1、sdk版本号3.8.0
2、api是JMSGConversation的setExtraValue方法,
比方说我一个for循环去设置值
设置@“1”、@“2”、@“3”
最后取值用的JMSGConversation的getExtraValueForKey方法。取出来的确是@“1”
也就是后两面两次设置不成功
3、是的


#4

这个设置都是在我们 im 的子线程设置的,你打印是在主线程,这两条线程走的速度不一样,可能数据会不同步

我们在下一个版本会优化下,改成同步的~