gpt4 book ai didi

ios - iOS 中的搜索文本框区分大小写

转载 作者:行者123 更新时间:2023-11-29 01:54:42 26 4
gpt4 key购买 nike

我在 iOS 中有一个文本框,用户可以在其中输入名称并检索具有该名称的用户。我为此使用下面的解析查询。实际上它工作正常,但它区分大小写。

例如,当用户名在解析表中为“Martin”时,您在文本框中输入“Martin”,它会找到它,但是当您输入“martin”时,它什么也找不到。有没有办法使用不区分大小写的“containString”?

var query = PFUser.query()
query!.whereKey("username", notEqualTo: PFUser.currentUser()!.username!)
query!.whereKey("profileName", containsString: self.userSearchField.text)

编辑:

我找到了另一个解决方案,我在我的数据库中创建了一个名为“searchUser”的新列,当一个人使用新用户名注册时,该列中存储了几个版本的用户名(例如,所有字母大写, 所有字母小写,只有第一个字母小写)。并在该列中使用“containsString”。现在找到该用户的可能性更高。如下所示:

    var varSearch1 = profileTxt.text
var varSearch2 = profileTxt.text.lowercaseString
var varSearch3 = profileTxt.text.uppercaseString
var varSearch4 = profileTxt.text.capitalizedString

user["searchUser"] = "\(varSearch1) \(varSearch2) \(varSearch3) \(varSearch4)"

最佳答案

正如 Hector Ramos(解析器)在 this 中所说的那样帖子:

You'd need to query for the users and use localizedCaseInsensitiveCompare: locally. Using orderByAscending: will, as you have already found out, order the results alphabetically.

因为不区分大小写的查询是非常昂贵的。如果您的用户很少,这是一个可行的解决方案,但正如有人在讨论中指出的那样 - 加载 20k 用户根本就不太好。

如果您可以为它使用规范字段,它肯定会让您的事情变得更容易。

关于ios - iOS 中的搜索文本框区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com