Swift 3 и Xcode 8.2 - неоднозначная ссылка на член 'Subscript'

Я получаю сообщение об ошибке и не знаю, почему... Кто-нибудь может мне помочь? Я в отчаянии! Никакой другой пост не помог мне. Заранее большое спасибо за ваш ответ!!

PS: я получаю ошибку только когда пытаюсь запустить на своем собственном iphone

Изображение с ошибкой

func parseJson() {
    let username: String = UserDefaults.standard.value(forKey: "username")! as! String
    let url=URL(string:"https://website.de")
    do {
        let allBetData = try Data(contentsOf: url!)
        let allBet = try JSONSerialization.jsonObject(with: allBetData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject]


        if let arrJSON = allBet["bets"] as! [String : AnyObject]? {
            for index in 0...arrJSON.count-1 {



                let aObject = arrJSON[index] as [String : AnyObject]?

                header.append(aObject["header"] as! String)
                rowDescription.append(aObject["rowDescription"] as! String)
                bodytext.append(aObject["bodytext"] as! String)
            }
        }



        print("data loaded")
        self.tableView.reloadData()
    }
    catch {
        self.logout()
    }

}

1 ответ

Решение

Хорошо, это абсолютно фундаментально, и вам нужно убедиться, что вы это поняли.

Одна строка за раз...

if let arrJSON = allBet["bets"] as! [String : AnyObject]? {

Здесь вы говорите: "Я делаю эту штуку под названием arrJSON, это словарь со строковыми ключами и любым значением". Хорошо до сих пор? Затем вы...

for index in 0...arrJSON.count-1 {

"Я хотел бы зациклить количество раз, что есть элементы"...

 let aObject = arrJSON[index] as [String : AnyObject]?

"... и получить объект, ключ которого - это число".

Вы понимаете проблему сейчас?

Другие вопросы по тегам