Я пытаюсь использовать текстовое поле в качестве панели поиска.Я добавил все методы делагата.Но когда я начинаю набирать любую букву в своем текстовом поле, происходит сбой, например:
этот класс не соответствует значению ключа, кодирующему имя ключа.
Мой объект содержит(т.е. я пытаюсь заполнить данные в моем представлении tabke)
{
"lo_name" = "yourData"
}
Мой код:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
if string.isEmpty
{
search = String(search.characters.dropLast())
}
else
{
search=textField.text!+string
}
print(search)
let predicate=NSPredicate(format: "SELF.lo_name CONTAINS[cd] %@", search)
let arr=(objectArray as NSArray).filtered(using: predicate)
if arr.count > 0
{
SearchedobjectArray.removeAll(keepingCapacity: true)
SearchedobjectArray = arr as! [MyLooVC.Objects]
}
else
{
SearchedobjectArray=objectArray
}
looTable.reloadData()
return true
}
Я попытался дать, как показано ниже:
1.let predicate=NSPredicate(format: "SELF.loo_name CONTAINS[cd] %@", search)
2.let predicate=NSPredicate(format: "SELF.name CONTAINS[cd] %@", search)
Но ничего не добивается успеха.Все еще получаю ту же аварию.Любое решение?
Спасибо