swift - 二元运算符 '==' 不能应用于类型 'NSObject' 和 'String' 的操作数

标签 swift fetch uisearchbar binary-operators

我正在尝试通过 UISearchBar 在 UITableView 上搜索用户。问题是当我尝试时,错误不断出现。

这是我的代码:

 var isSearching = false
 func searchBar(_ searchBar: UISearchBar, textDidChange searchText:String) {
     if searchBar.text == nil || searchBar.text == "" {
        isSearching = false
        view.endEditing(true)
        searchTableView.reloadData()
    } else {
        isSearching = true
        filteredUsers = users.filter({$0 == searchBar.text!})  // error appears here

    }

    searchTableView.reloadData()
}

我正在尝试通过 Firebase 提取在我的应用中搜索用户。我已经将用户提取到 UITableView 上,问题是我无法搜索特定的用户。请帮忙!我什么都试过了。

最佳答案

类型 NSObject 不能与类型 String 比较,你需要

filteredUsers = users.filter({$0.someProperty == searchBar.text!}) 

someProperty 是类中的一个属性

关于swift - 二元运算符 '==' 不能应用于类型 'NSObject' 和 'String' 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52230363/

相关文章:

ios - UITableView 部分标题未显示

ios - 根据 bool 属性更新mapView图钉颜色

ios - 后台同步Core Data数据

javascript - 是否有类似于 fetch() API 中的 readyState 的东西?

ios - 在一个巨大的文本文件中找到一个字符串

ios - 添加SKNode作为触发器,这样就不会影响其他节点的路径

arrays - 快速更新数组中对象的属性,不起作用

sql - 分页时获取总行数

iphone - UISearchBar 在添加多个空格后画上句号

swift - UICollection View 中的搜索栏不是搜索结果