升级新版本后 Xcode/swift 错误 下标不明确



升级到新版本的 Xcode/swift 后,我收到错误"以前使用下标的模棱两可效果很好,但现在我收到此错误

我的数据中的搜索代码

    @IBAction func searchB(sender: UITextField) {
dataSecond = []
if sender.text == "" {
search = false
    self.reload()
} else {
for i in data {
if (i["name"] as! String!).lowercaseString.findInString(sender.text!) { //Here is the error in this if condition
dataSecond.addObject(i)
}
}
search = true
    self.reload()
}

Swift 2.2 对类型相当严格,比以前的版本严格得多。以前隐含的东西现在必须明确。

使用安全的解包和向下转换,它应该可以工作:

if let senderText = sender.text {
    for i in data {
        if let name = i["name"] as? String {
            if name.lowercaseString.findInString(senderText) {
                dataSecond.addObject(i)
            }
        }
    }
}

相关内容

最新更新