升级到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()
}
答案 0 :(得分:0)
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)
}
}
}
}