ios - 是否可以在表情符号字符上查询 Firebase?

标签 ios swift firebase firebase-realtime-database emoji

我想从原生支持表情符号的 swift 执行 firebase 查询。但是,在执行以 ~ 结尾的查询时,我注意到了奇怪的行为,其中跳过了与表情符号相关的结果。以下是我要执行的查询示例。其中起始值是某个名称,结束值是用 ~ 连接的名称。我注意到,当名称以表情符号结尾时,查询中不会返回带有表情符号的名称。是否可以像 Firestore 中那样在使用 Firebase 实时数据库时对表情符号执行查询?

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: startValue)
    .queryEnding(atValue: endValue)
    .observeSingleEvent(of: .value, with: { (snapshot) in
    …

Input name = “home”

expected output = “home🏡”

actual output: The snapshot is empty

最佳答案

从您的描述看来您正在搜索:

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: "home")
    .queryEnding(atValue: "home~")

然后期望得到 "home🏡" 作为结果。但是 🏡 在 Unicode 规范中实际上是在 ~ 之后,所以你的查询在 🏡 之前结束。

要获取以 "home" 开头的全部 TagIDs 值,在 "home\uf8ff" 处结束查询,使用 \u{f8ff} 是 Unicode 中最后一个代码点的转义符。

关于ios - 是否可以在表情符号字符上查询 Firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845330/

相关文章:

ios - 在 UICollectionView 中注册多个单元格(swift 3)

ios - 如何根据条件在核心数据中插入数据

swift - 转换后如何将 Swift 3 nsmeasurement 字符串格式化为最多 2 位小数?

ios - UITableViewCell contentView 中的自动布局

swift - Firebase 批量更新/删除

ios - 提高下载多个 XML 文件并解析它们的效率

ios - Sinch-当我挂断音频调用时,iOS应用程序崩溃

ios - swift 中的 UIView viewwithtag 方法

javascript - Firebase JS API 身份验证 - 帐户存在于不同的凭据

swift - Firebase:快速结合过滤和排序