当我在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
第一次没有显示在我的表格视图中。