首页 > 解决方案 > 二元运算符“==”不能应用于“NSObject”和“String”类型的操作数

问题描述

我正在尝试通过 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 上,问题是我无法搜索特定的用户。请帮忙!我什么都试过了。

标签: swiftfetchuisearchbarbinary-operators

解决方案


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

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

someProperty类内的属性在哪里


推荐阅读