ios - Query class in Parse (swift) -


i have strange issue. following block of code placed in viewdidappear section of first view controller, , when runs, println(latarray), println(longarray), println(addressarray), return no value. in console returns [] 3 arrays. however, when go view controller, , go back, populate data parse. why this? why wont latarray, longarray, , addressarray populate when app loaded first time viewwillappear method?

    var query = pfquery(classname: "newlog")      // add clause if there search criteria     query.wherekey("type", containsstring: newrecordcreated)      println(query)      query.findobjectsinbackgroundwithblock({         (objects, error) -> void in         if error == nil {             // results found             if let objects = objects as? [pfobject] {                 object in objects {                     //println(object["follower"])                     latarray.append(object["lat"] as! double)                     longarray.append(object["long"] as! double)                     addressarray.append(object["address"] as! string)                 }             }             // self.tableview.reloaddata()         } else {             println("error")             // network inaccessible , have no cached data             // query.         }     })      println(latarray)     println("^^latitude values")     println(longarray)     println("^^longitude values")     println(addressarray)     println("^^address values") } 

the query being executed in background. code in block (closure) executed when query finished. note: might , after viewdidappear finishes. if put print statements after loop, should see values. if uncomment reloaddata method, table should updated new information when query finishes.


Comments