2017-05-19 44 views
0

我在iOS上运行一个简单的分析查询:如何在iOS上对分析查询不区分大小写?

let query = PFQuery(className: "Channel") 
query.order(byAscending: "name") 

它确实为了结果正确的名字。然而它在Z之后按a排序。例如,它返回:

  • 专辑
  • 动物园
  • 总是
  • 黄色

这不是我期待的顺序。我希望看到它忽略了这些信件的情况。我怎样才能做到这一点?

+0

这是因为这些字母的ASCII表顺序(小写字母在大写后面)。您可以在插入时以小写/大写形式存储所有内容,因此最后的比较使用相同的字母大小写格式,或者可以在检索时筛选结果以将它们转换为相同大小写,然后运行此排序。 –

+0

由于回复分页,我无法对客户端进行排序。 – funkenstrahlen

+0

然后,只需在结果中运行.map,并在应用.order函数之前将所有名称转换为小写/大写。 –

回答

1

没有通过Parse直接执行此操作的函数。如果区分大小写不是问题,最好的办法是为这个类添加一个beforeSave触发器,并将您正在查询的字段的所有输入都转换为小写/大写。这将解决您的问题,只要该字段在其他功能中不区分大小写。

使用query.each()来更新所有内容的后台作业也应该相当简单,以便使数据库随新的小写/大写要求更新。