所以我在加载视图控制器时尝试获取一些数据并设置它以便稍后在代码中使用它,但值不会更新。代码底部的CountData
值应为3
,但不是
import UIKit
import Alamofire
class FooController: UIViewController, UITableViewDataSource {
var CountData
override func viewDidLoad() {
super.viewDidLoad();
Alamofire.request("http://foo:8080/joke.php").responseJSON{ response in
if let JSON = response.result.value as? [String: String] {
}
//!!SET DATA HERE!!
self.CountData = 3
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//!!USE IT HERE!!
return CountData;
}
答案 0 :(得分:0)
由于Alamofire请求是异步的,您需要为您的表调用reloadData。
目前,您可以初始化
var CountData = 3
当你得到响应时设置你想要的CountData,然后调用
self.CountData = 5
yourTableView.reloadData()