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
Post a Comment