0

I need to return the value of dictionary after loading the data from the web service , not return empty dictionary

My code:

func callingWebservice (link:String , POST:String)->[String : AnyObject]{
  var shotsDataaaa = [String:AnyObject]()
  let request = NSMutableURLRequest(URL: NSURL(string: link)!)
  request.HTTPMethod = "POST"
  let postString = POST
 dispatch_async(dispatch_get_main_queue()) {

  request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
  let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {

          (data,response,error)  in
          do {
               shotsDataaaa = try NSJSONSerialization.JSONObjectWithData(data! , options: NSJSONReadingOptions.MutableContainers) as! [String : AnyObject]
             print(shotsDataaaa)

          }catch{
              print("fe sabab tanyyy")
          }
      }
      task.resume()
  }
  return shotsDataaaa
}

This is the result result

I need to return the data not empty dictionary.

  • actually return shotsDataaaa exectes first before print(shotsDataaaa) bcoz the user NSnotification to return responce or add return in DO block – SM18 Jul 26 '16 at 07:35
  • yes , but how can i get it , how can i change it and capture the data without empty return empty dictionary – mostafa alsayed Jul 26 '16 at 07:42
  • var response: NSURLResponse? var error: NSError? let urlData = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error) – SM18 Jul 27 '16 at 10:59

0 Answers0