i have been trying implement code display activity indicator in sub view during request. it's meant used loading, never displays yet if go segue , return indicator there. makes me believe superview doesn't reloaded until function has run time sub view doesn't need displayed
example:
loadingindicator.startindicator(self.view)
let parameters = parameters() parameters.addparams(search: search) let request = searchrq(parameters: parameters) request.getresponse() while !request.iscomplete { //wait } let results = request.parseresponse() self.results = results loadingindicator.stopindicator(self.view) performseguewithidentifier("showsearchresults", sender: sender)
as matt stated, need add activity indicator view (or ui changes matter) on main thread.
you can so:
dispatch_async(dispatch_get_main_queue(),{ self.view.addsubview(activityindicator) })
to move waiting response off main thread, change getresponse function has completion handler. :
func getresponse(responsereceived:() ->void) { // once response: responsereceived() }
then can appropriate changes after you've received response.
getresponse { let results = request.parseresponse() self.results = results loadingindicator.stopindicator(self.view) performseguewithidentifier("showsearchresults", sender: sender) }
Comments
Post a Comment