【问题标题】:Binary operator '==' cannot be applied to operands of type 'NSObject' and 'String'二元运算符“==”不能应用于“NSObject”和“String”类型的操作数
【发布时间】:2019-02-13 06:27:39
【问题描述】:

我正在尝试通过 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 fetch 在我的应用中搜索用户。我已经将用户提取到 UITableView 上,问题是我无法搜索特定的用户。请帮忙!我什么都试过了。

【问题讨论】:

  • 数组用户的发布声明

标签: swift fetch uisearchbar binary-operators


【解决方案1】:

一个类型 NSObject 不能和一个类型 String 比较,你需要

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

someProperty 是类中的一个属性

【讨论】:

  • 关于我可以使用哪个属性的任何想法?
  • 根据searchBar文字在你要搜索的属性上
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
相关资源
最近更新 更多