ios - Connecting to MySQL database and creating array to use elsewhere with Swift -


i learning swift , trying pull data local host mysql database. following tutorials able this:

   func getinfo()  {     let url = nsurl(string: "http://localhost:8888/service.php")     let session = nsurlsession.sharedsession()     let task = session.datataskwithurl(url!) {(data, response, error) in         var d = nsstring(data: data, encoding: nsutf8stringencoding)         var arr = d!.componentsseparatedbystring("<")          var dataweneed:nsstring = arr[0] as! nsstring         if let data = nsjsonserialization.jsonobjectwithdata(dataweneed.datausingencoding(nsutf8stringencoding)!, options: nsjsonreadingoptions.mutablecontainers, error: nil) as? nsarray {              self.tabledata = data             println(data)         }     }     task.resume() 

this in view controller file.

i call function form viewdidload. declare variable tabledata:nsarray = [] @ top, , can see data via println(data) inside function, if try use tabledata outside function, empty.

how can data inside variable 'data' able use outside function?

reload tableview when data server way:

func getinfo()  { let url = nsurl(string: "http://localhost:8888/service.php") let session = nsurlsession.sharedsession() let task = session.datataskwithurl(url!) {(data, response, error) in     var d = nsstring(data: data, encoding: nsutf8stringencoding)     var arr = d!.componentsseparatedbystring("<")      var dataweneed:nsstring = arr[0] as! nsstring     if let data = nsjsonserialization.jsonobjectwithdata(dataweneed.datausingencoding(nsutf8stringencoding)!, options: nsjsonreadingoptions.mutablecontainers, error: nil) as? nsarray {          self.tabledata = data         println(data)          // reload tableview here.         dispatch_async(dispatch_get_main_queue()) {             self.tableview.reloaddata()         }     } } task.resume() 

hope help.


Comments