【问题标题】:Swift 3.0 Search Bar Filters by letters (not words)Swift 3.0 搜索栏按字母(不是单词)过滤
【发布时间】:2017-09-26 03:17:59
【问题描述】:

我希望我的搜索栏按不区分大小写的字母过滤 tableView。目前,我已将其设置为按区分大小写的单词进行过滤,并且我不确定如何通过搜索栏中使用的字母填充 tableView。

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {

    if newMessageSearchBar.text == nil || newMessageSearchBar.text == "" {

        isSearching = false

        view.endEditing(true)

        messagesTableView.reloadData()

    } else {

        isSearching = true

        nameList = sortedUserNames.filter({$0 == searchBar.text})

        messagesTableView.reloadData()
    }
}

我的数据源是 sortedUserNames,我将它设置为 nameList。不知道tableView是只在一个单词完成时才刷新还是过滤功能不起作用。

【问题讨论】:

    标签: ios swift tableview uisearchbar


    【解决方案1】:

    而不是相等比较,它只在完全相等时返回true,而是使用contains,小写使其不区分大小写

    nameList = sortedUserNames.filter({$0.lowercased().contains(searchBar.text.lowercased())})
    

    【讨论】:

      【解决方案2】:

      我试过了,它确实对我有用。当您稍后尝试搜索大写字母和小写字母时,将出现包含该特定字母的单词。

        func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
      
          if searchWordsBar.text == nil || searchWordsBar.text == "" {
      
              isSearching = false
              view.endEditing(true)
              originalWordsTableView.reloadData()
      
          } else {
              isSearching = true
              filteredWords = originalWords.filter { originalWords in return originalWords.lowercased().contains(searchText.lowercased())
          }
               originalWordsTableView.reloadData()
      
      }
      }
      

      【讨论】:

        【解决方案3】:

        这取决于您选择的搜索方式,如果您希望表格包含提供的确切搜索字符串,那么“==”将为您提供最佳服务,但如果您希望名称可能包含搜索字符串的任何字符/子字符串然后“包含”将是您的选择。

        nameList = sortedUserNames.filter({$0.lowercaseString == searchBar.text.lowercaseString})
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-04
          • 1970-01-01
          • 1970-01-01
          • 2021-07-27
          • 1970-01-01
          • 2013-07-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多