-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」。 –