保罗·哈德森(Paul Hudson)的用Swift破解。创建一个基本的表格视图应用程序,该应用程序通过JSON将请愿书解析到白宫。
我尝试着研究类似的问题,但是这些问题的答案加剧了困惑
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let urlString: String
if navigationController?.tabBarItem.tag == 0 {
urlString = "https://api.whitehouse.gov/v1/petitions.json?limit=100"
} else {
urlString = "https://api.whitehouse.gov/v1/petitions.json?signatureCountFloor=10000&limit=100"
}
if let url = URL(string: urlString) {
if let data = try? Data(contentsOf: url) {
let json = JSON(data: data)
if json["metadata"]["responseInfo"]["status"].intValue == 200 {
return
parse(json: json)
}
}
}
showError()
}
我希望不会有任何错误,但是会收到一个错误消息:“可以抛出呼叫,但是它没有标记为“ try”,并且该错误未得到处理”
let json = JSON(data: data)
当我使用try!
时,错误消失了,但是表视图中没有解析的数据。