【发布时间】:2017-04-20 07:54:35
【问题描述】:
我在 swift 中创建了一个 macOS 控制台应用程序,但代码从未执行,=我必须使用 Semaphore 但有其他方法吗? 我的目的是创建一个返回 json 文件的方法
class test{
func gizlo(){
let config = URLSessionConfiguration.default // Session Configuration
let session = URLSession(configuration: config) // Load configuration into Session
let url = URL(string: "https://itunes.apple.com/fr/rss/topmovies/limit=25/json")!
let task = session.dataTask(with: url, completionHandler: {
(data, response, error) in
if error != nil {
print(error!.localizedDescription)
} else {
do {
if let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: Any]
{
print(json)
}
} catch {
print("error in JSONSerialization")
}
}
})
task.resume()
}
}
let tr=test()
tr.gizlo()
谢谢
【问题讨论】:
-
您可以在文件的and中添加RunLoop.main.run()。但是使用信号量更可取。主要是防止合并关闭。
标签: swift macos macos-sierra