Iboutlets not working inside block swift -
i fetching request server , trying display in tablview. in process want hide spinner after fetching records. problem : associated self inside block not work.
@iboutlet weak var spinner: uiactivityindicatorview! @iboutlet weak var customtableview: customtableview! var widgetarray :nsmutablearray = [] override func viewdidload() { super.viewdidload() print(dataobjects.sharedinstance.mainarray) let appdelegate = uiapplication.sharedapplication().delegate as! appdelegate spinner.hidden = false spinner.startanimating() customnetworkhit.networkhitforurl("http://winjitwinds.cloudapp.net/windapi/windapiservice.svc/getcategorydatapagewise?categoryid=1944&pageno=1", completion: {(arrayresult) -> void in // spinner not stop animating , not hide self.spinner.stopanimating() self.spinner.hidden = true print("disable spinner man") dataobjects.sharedinstance.mainarray.addobjectsfromarray(arrayresult [anyobject]) self.widgetarray.addobjectsfromarray(arrayresult [anyobject]) self.customtableview.setuptableview(self.widgetarray) // uitableview not reload data. self.customtableview.reloaddata() })
please specify mean "does not work". without it's hard know sure guess trying ui work on background thread (blocks don't run on main thread).
within block try this:
dispatch_async(dispatch_get_main_queue(), ^(){ // ui code goes here }); in swift:
dispatch_async(dispatch_get_main_queue()) { // ui code goes here }
Comments
Post a Comment