Derzeit wird der Fehler "Mehrdeutige Verwendung von 'tiefgestellt'", wenn nur auf einem echten iPhone. Keine Probleme bei der Verwendung des Simulators. Hier ist mein Code:Mehrdeutige Verwendung von 'tiefgestellten' Swift 3 Kompilierfehler
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)
}
}
}
Ich denke, dass das Problem von [String: AnyObject] kommen kann. Ich bin kein Swift-Experte, aber beim Lesen habe ich ein paar Informationen über ähnliche Szenarien bekommen. Überprüfen Sie diese http://stackoverflow.com/questions/33642059/ambiguous-use-of-subscrip-in-swift oder sogar http://stackoverflow.com/questions/33592699/ambiguous-use-of-subscript-xcode- 7-1 – Balanced
Welche Zeile genau? 'Lass aObject = arrJSON [index] as! [String: AnyObject] 'Ich nehme an, es liegt daran, dass Sie dem Compiler nicht gesagt haben, dass' arrJSON' ein Array ist, also können Sie 'arrJSON [index]' nicht tun. – Larme
Diese Zeile: lassen aObject = arrJSON [index] as! [String: AnyObject] Wie kann ich feststellen, dass arrJSON ein Array ist? –