NSJSONSerialization not working as expected in a Playground

戏子无情 提交于 2019-12-18 09:12:14

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!