问题
I have to get football game schedule via JSON and extract date of each game of one of the specific universities.
I tried:
let url = NSURL(string: "SCHOOL URL")
let request = NSURLRequest(URL: url!)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request){
(data, response, error) -> Void in
do{
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
if let schedule = jsonData["schedule"] as? [[String: AnyObject]]{
for game in schedule{
if let date = game["date"] as? String{
print("\(date)");
}
}
}
} catch let error as NSError{
print("something bad happened!")
}
}
task.resume()
I am trying it in Xcode playground, but it does not print any at print line. And I have appropriate url at SCHOOL URL.
回答1:
In order to use asynchronous operations in an Xcode Playground, you need to set needsIndefiniteExecution
to true
.
Add this at the top of your code:
Swift 2
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
Swift 3
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
来源:https://stackoverflow.com/questions/34029442/nsjsonserialization-not-working-as-expected-in-a-playground