-1
嗨我升级我的xcode从7到8现在我得到错误模糊使用'下标',当m试图迭代对象。升级后swift 2到3获取错误模糊使用'下标'
嗨我升级我的xcode从7到8现在我得到错误模糊使用'下标',当m试图迭代对象。升级后swift 2到3获取错误模糊使用'下标'
你需要你传递什么到函数,以访问索引和值键的更好的主意。不幸的是,你不能下标-index- AnyObject。 Xcode首先需要更多信息。尝试是这样的:
func makeDataSource(data:[[String:String]]) {
for i in 0..< data.count {
print(data[i]["make"]
}
}
如果你不知道,如果你可以通过你的数据[字符串:字符串]]你可以放心地首先通过做这样的事情,你让你的函数调用之前解开它:
guard let myData = data as? [[String:String]] else {
print("couldn't cast data as [[String:String]]")
return
}
makeDataSource(data:myData)
如果上面的guard语句失败,那么我会检查位于数据数组/字典中的对象类型。你可以把它转换成多种东西。例如:
as? [[String:String]]
as? [[Int:String]]
as? [[String:AnyObject]]
etc.......
你只需要匹配那里的内容,你的代码应该运行平稳。
为什么在使用前将'data'转换为正确的类型?另外请注意,在Swift 3中,Objective-C ID现在导入为“Any”。 –