我写了一个简单的代码,它从一个新闻API获取特定数据并将其打印到控制台。Parsed JSON数据没有被打印到控制台
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = URL(string: "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=af5f94cdf07e42ee877a3f2c2199d097")
let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in
if error != nil {
print("Error")
}
else {
if let content = data {
do {
let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
if let articles = myJson["articles"] as? NSDictionary {
if let title = articles["title"] {
print(title)
}
}
}
catch {}
}
}
}
task.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
但奇怪的是,这不会返回错误,也不会将所需的“标题”打印到控制台。为什么是这样?
您正在加载视图吗?该代码在游乐场中运行得很好。 – brandonscript
对不起,我对swift很陌生 - 加载视图是什么意思?我没有对故事板进行任何更改,并且此代码位于viewDidLoad()函数下。 –
当视图实际加载时,会调用'viewDidLoad()'。你必须运行应用程序并加载视图。 – brandonscript