Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 创建搜索选项卡的最佳方法_Ios_Swift_Uisearchbar - Fatal编程技术网

Ios 创建搜索选项卡的最佳方法

Ios 创建搜索选项卡的最佳方法,ios,swift,uisearchbar,Ios,Swift,Uisearchbar,目前,我有一个任务,我需要在其中创建一个相应显示搜索结果的选项卡 我有三个分段按钮 [A-J][K-S][T-Z] 点击任何一个段按钮都会显示过滤的结果,我很困惑如何用最短和最好的方式来制作逻辑 是否有任何内部功能可用于过滤结果 这里我考虑的是需要过滤的字符串数组 提前感谢这可能会对您有所帮助 var arr = ["Aadsdfgdfh","Baby","bab","Caz","Dav","Eaa","Mers","Nope","O","P"] var expression = "^[A-Ja

目前,我有一个任务,我需要在其中创建一个相应显示搜索结果的选项卡

我有三个分段按钮

[A-J][K-S][T-Z]

点击任何一个段按钮都会显示过滤的结果,我很困惑如何用最短和最好的方式来制作逻辑

是否有任何内部功能可用于过滤结果

这里我考虑的是需要过滤的字符串数组

提前感谢

这可能会对您有所帮助

var arr = ["Aadsdfgdfh","Baby","bab","Caz","Dav","Eaa","Mers","Nope","O","P"]
var expression = "^[A-Ja-j]{1}[a-z]*"   //change expression accordingly

let predicate = NSPredicate(format: "SELF matches %@", expression)
let results = arr.filter { predicate.evaluate(with: $0) };
print(results)

我建议使用正则表达式来实现这一点。感谢您的响应,您能否解释一下表达式“^[A-Ja-j]{1}[A-z]*”“^[A-Ja-j]{1}”匹配数组中每个字符串的第一个字符,以及“[A-z]*”匹配字符串的其他剩余部分。使用上述表达式,我得到了一个异常。“'NSInvalidArgumentException',reason:'无法进行正则表达式匹配,reason:(无法打开模式U_regex_RULE_语法(字符串测试,模式^[A-Ja-c]{1}*,大小写0,canon 0))”我明白了,我们不需要正则表达式匹配,你能告诉我如何对大小写不敏感的代码进行匹配吗?像它一样搜索a和a.?
expression=“^[a-Ja-j]{1}[a-z]*”
它已经在那里了@ParvBhasker