输入确切的案文时出现搜索栏

时间:2019-04-09 09:56:05

标签: ios swift iphone xcode searchbar

当我在UITextField中输入任何内容进行搜索时。如果我用大写字母和小写字母键入。如果我以小写形式全部输入,则不会显示数据。

例如:My text = "Lee Meridian".

如果我输入“李子午线” =它不会出现

如果我输入“ Lee Meridian” =然后显示出来。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
    if string.isEmpty
    {
        search = String(search.characters.dropLast())
    }
    else
    {
        search=textField.text!+string
    }

    let arr = objectArray.filter({ $0.looName.contains(search)}) as NSArray
    if arr.count > 0
    {
        SearchedobjectArray.removeAll(keepingCapacity: true)
        SearchedobjectArray = arr as! [MyLooVC.Objects]

    }
    else
    {

        SearchedobjectArray = !search.isEmpty ? objectArray.filter({ $0.looName.contains(search) }) : objectArray
    }
    looTable.reloadData()
    return true
}

如何添加文本大小写并在表格视图中搜索。

谢谢。

更新:

在我的表格视图中的数据源和委托方法:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if let cell = tableView.dequeueReusableCell(withIdentifier:"cell", for: indexPath) as? MyLooCell{
cell.looName.text = SearchedobjectArray[indexPath.row].looName

}
}

我更改为:

 SearchedobjectArray = !search.isEmpty ? objectArray.filter({ $0.looName.lowercased().contains(search.lowercased())}) : objectArray

还:

SearchedobjectArray = !search.isEmpty ? objectArray.filter({ $0.looName.localizedCaseInsensitiveContains(search)}) : objectArray

第一次没有显示在我的表格视图中。

0 个答案:

没有答案