Я изо всех сил пытаюсь выполнить цикл значений словаря, возвращаемых из вызова веб-службы.Swift: Looping через массив словаря
Я реализовал следующий код, и, похоже, я столкнулся с крахом при запуске.
Я также хотел бы сохранить результаты в пользовательский Struct. На самом деле с этим трудно справиться, и ответы на них до сих пор не сработали. Был бы признателен, если кто-то сможет помочь.
let nudgesURLString = "http://www.whatthefoot.co.uk/NUDGE/nudges.php"
let nudgesURL = NSURL(string: nudgesURLString)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(nudgesURL!, completionHandler: {data, response, error -> Void in
if error != nil {
println(error)
} else {
let nudgesJSONResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
let nudges: NSDictionary = nudgesJSONResult["nudges"] as NSDictionary
if let list = nudgesJSONResult["nudges"] as? [[String:String]] {
for nudgeDict in list {
let location = nudgeDict["location"]
println(location)
}
}
}
})
task.resume()
}
Куда деградирует? Как выглядят данные JSON? Возможно, это JSON * массив *, а не * словарь * ?? В этом случае «как NSDictionary» будет сбой (и эта проблема возникает каждый день здесь на SO ...) –
Вы назначаете 'nudgesJSONResult [" nudges "]' в словарь - 'nudges' и массив словари 'list' в вашей необязательной привязке (если пусть ...). Это может быть началом некоторых вопросов, но, как указал Мартин Р, вопрос неясно, в чем проблема. – Logan
Вопросы поиска справки по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. –