你好,上述问题确实存在。我们内部也在关注这个问题。
containsString 这个函数实际上会在底层用到 RESTful API 中的 $regex 查询(正则查询),SDK 中没有正确地对 contains 的参数进行转义,因为 ? 是正则里的特殊字符,所以会搜索不出预期的结果。我们内部讨论后考虑到这个行为在 SDK 中已经持续了相当长的时间,不宜立即修改,准备在之后的某次大版本升级中再修正这个函数的行为。
暂时你可以用反斜线对 ? 进行一下转义来绕过这个问题。
[query whereKey:@"username" containsString:@"\\?"];