string - UISearchBar textDidChange,searchtext 变量无法与 rangeOfString 一起使用?

标签 string swift uisearchbar

我已经搜索了几个小时,但看不到解决方案...我正在使用输入到 UISearchBar 中的文本来过滤自定义对象数组,以更改下面表格 View 中的数据。 经过一番调试后,我找到了问题的根源:

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
    var temp = "c"
    FilterResults = SearchResults.filter {
    return $0.Username.rangeOfString(temp) != nil
    }

    }

这是我的麻烦:如果我使用了上面明确定义的 temp ,其中 temp = "c",它会很高兴地匹配所有包含 c 的用户名!当我不使用 temp 而是使用变量 searchText 时,就会出现问题,在这种情况下,它永远不会与任何内容匹配!我检查了一下,searchText 不为空,事实上,我在测试中打印出了 searchText,它打印出了一个正常的字符串(基于搜索栏中输入的内容),但由于某些疯狂的原因,如果我在 . rangeOfString 方法,它总是返回 false!这是为什么?我也使用过 searchBar.text ,它给了我同样的麻烦......我完全迷失和沮丧。任何帮助将不胜感激!

最佳答案

试试这个,如果有效的话。

var searchList = [String]()
let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", searchText!)
let array = (searchList as NSArray).filteredArrayUsingPredicate(searchPredicate) as! [String]

关于string - UISearchBar textDidChange,searchtext 变量无法与 rangeOfString 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37825157/

相关文章:

swift - 为什么在将 8 位二进制值分配给 Int8 类型的 var 时,Swift 语言会发生溢出?

ios - Core Data、xcode 7、实例成员和主视图 Controller

ios - 如何关闭滑动搜索栏?

ios - 如何更改清除按钮图像(x 按钮)或至少更改搜索栏中清除按钮图像的颜色?

ruby - 将 Ruby 中的字符串切成固定长度的字符串,忽略(不考虑/不管)新行或空格字符

c - 如何在数组中使用 C 字符串?

ios - 后台位置跟踪不适用于物理设备 swift

ios - 结构化数据 Swift 4 的搜索栏

java - 如何使用 Java 在 HTML 中查找 URL

Java分割包含多个xml文件的xml字符串,同时保留模式