Otrzymuję błąd:
Niejednoznaczne odniesienie do „subscript” członka
Na następującym kodzie:
let jsonObject = try JSONSerialization.jsonObject(with: data, options: [])
guard let jsonDictionary = jsonObject as? [NSObject: AnyObject],
let photos = jsonDictionary["photos"] as? [String: AnyObject], // this line is giving the error
let photosArray = photos["photo"] as [[String: AnyObject]] else {
print("Error")
}
Poprzednie posty sugerowały zmianę typu z [String: AnyObject]
do [AnyObjectHashable: Any]
. To nie naprawiło błędu. Czy ktoś może wyjaśnić, dlaczego ten błąd występuje i jak można go rozwiązać?
Odpowiedzi:
1 dla odpowiedzi № 1Możesz to zastąpić, aby utworzyć słownik w swift 3, którego możesz użyć jak [String: Any] zamiast [String: AnyObject]
let jsonObject = try JSONSerialization.jsonObject(with: data, options: [])
guard let jsonDictionary = jsonObject as? [String: Any],
let photos = jsonDictionary["photos"] as? [String: AnyObject], // this line is giving the error
let photosArray = photos["photo"] as? [[String: Any]] else {
print("Error")
}
print(jsonDictionary)