无法指定类型'Array的值 >'输入'[MyVC.Objects]'

问题描述 投票:0回答:1

我正在尝试使用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一样追加我不确定。

对此有何帮助?

ios swift uitextfield searchbar
1个回答
0
投票

快速修复:

SearchedobjectArray = arr as! Array<Dictionary<String,String>>

您的数组不是由字典组成的。

真正的修复:

忘记Array<Dictionary<String,String>SearchedobjectArray = arr as! [Objects] 并使用swift过滤:

NSArray
© www.soinside.com 2019 - 2024. All rights reserved.