好的,回去试一试。那顺便问一下:
1. 如果已存在[m1,m2]的唯一对话(假设是m1创建的),现在m2要创建与m1的唯一对话,现在是会复用已经创建的唯一对话,还是会重新创建唯一对话呢?
2. 如果第一个问题的答案是复用对话的话,也就是说member的次序不影响对话的创建,[m1,m2]和[m2,m1]是同一个对话,那么帖子正文提到的通过member精确查找对话是否可以优化一下呢?通过[m1,m2]和[m2,m1]查找的结果应该是一样的。这里开发者在使用的时候如果没注意到这些点的话,就很容易出现bug
3. 看了下文档有关member的equal操作,
// 查询 Tom 参与过的对话,即 m = Tom
AVIMConversationQuery *query1 = [[AVIMClient defaultClient] conversationQuery];
[query1 whereKey:@"m" equalTo:@"Tom"];
如果说equalto的查询是完全匹配的话,这个子句查询匹配的应该是member=[@"Tom"]的对话,也就是成员只有Tom的对话。
但文档的描述是Tom参与过的对话,感觉这个更像是使用包含子句的描述。求解答
感谢0,0