0
我想以填充UITableViewController
所以在我viewDidLoad
我有這樣的代碼:功能dataTaskWithRequest不會影響變量
override func viewDidLoad() {
let rc = RestCaller()
rc.get("events" , authenticate: true) {
error, data in
if error != nil {
print("error")
}
let events = JSON(data: data)
self.events = events["data"].arrayValue
}
}
,並有我的get函數:
func get(route: String, authenticate: Bool?, next: (error: NSError?, data: NSData) -> Void)
{
let request = NSMutableURLRequest(URL: NSURL(string: self.baseUrl + route)!)
request.HTTPMethod = "GET"
if authenticate != nil {
request.addValue(getUserProperty("USER_TOKEN") as! String, forHTTPHeaderField: "usertoken")
request.addValue((getUserProperty("USER_ID")?.stringValue)!, forHTTPHeaderField: "userid")
}
_ = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
next(error: error, data: data!)
}.resume()
}
但在numberOfRowsInSection
方法:
return events.count // return 0
但是,如果我打印self.events這裏:
override func viewDidLoad() {
...
let events = JSON(data: data)
self.events = events["data"].arrayValue
print(self.events) // not empty
...
}
而且我不明白爲什麼:(
任何想法?謝謝 !