我正在尝试使用textfield作为我的表视图的搜索栏。所以我在下面添加了代码。现在它显示出一些错误
Cannot assign value of type 'Array<Dictionary<String, String>>' to type '[MyVC.Objects]'
var objectArray = [Objects]()
var SearchedobjectArray = [Objects]()
override func viewDidLoad() {
super.viewDidLoad()
SearchedobjectArray = objectArray
}
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.name CONTAINS[cd] %@", search)
let arr=(objectArray as NSArray).filtered(using: predicate)
if arr.count > 0
{
SearchedobjectArray.removeAll(keepingCapacity: true)
SearchedobjectArray = arr as! Array<Dictionary<String,String>>
}
else
{
SearchedobjectArray=objectArray
}
looTable.reloadData()
return true
}
错误在这里:
qazxsw poI知道,我不是用作qazxsw poi。但在这里我怎么能像我的onject一样追加我不确定。
对此有何帮助?
快速修复:
SearchedobjectArray = arr as! Array<Dictionary<String,String>>
您的数组不是由字典组成的。
真正的修复:
忘记Array<Dictionary<String,String>
和SearchedobjectArray = arr as! [Objects]
并使用swift过滤:
NSArray