-1
當只在真正的iPhone上構建時,目前收到錯誤「模糊使用'下標''」。使用模擬器時沒有任何問題。這裏是我的代碼:模糊使用「下標」Swift 3編譯錯誤
let url=URL(string:myUrl)
do {
let allContactsData = try Data(contentsOf: url!)
let allContacts = try JSONSerialization.jsonObject(with: allContactsData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject]
if let arrJSON = allContacts["data"] {
for index in 0...arrJSON.count-1 {
let aObject = arrJSON[index] as! [String : AnyObject]
if(ChooseSubject.mineFagKoder.contains(aObject["subject"] as! String)){
ids.append(aObject["id"] as! String)
names.append(aObject["name"] as! String)
subjects.append(aObject["subject"] as! String)
descriptions.append(aObject["description"] as! String)
deadlines.append(aObject["deadline"] as! String)
}
}
}
我想問題可能來自[String:AnyObject]。我不是Swift專家,但是通過閱讀,我獲得了有關類似場景的一些信息。檢查了這個http://stackoverflow.com/questions/33642059/ambiguous-use-of-subscript-in-swift或甚至http://stackoverflow.com/questions/33592699/ambiguous-use-of-subscript-xcode- 7-1 – Balanced
究竟哪一行?let aObject = arrJSON [index] as! [String:AnyObject]''我想這是因爲你沒有告訴編譯器'arrJSON'是一個數組,所以你不能'arrJSON [index]'。 – Larme
This line: let aObject = arrJSON [index] as! [字符串:AnyObject]。 我怎麼知道arrJSON是一個數組? –