Swift 3设置全局变量值

时间:2017-01-17 09:52:22

标签: ios iphone swift

所以我在加载视图控制器时尝试获取一些数据并设置它以便稍后在代码中使用它,但值不会更新。代码底部的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;
}

1 个答案:

答案 0 :(得分:0)

由于Alamofire请求是异步的,您需要为您的表调用reloadData。

目前,您可以初始化

 var CountData = 3

当你得到响应时设置你想要的CountData,然后调用

 self.CountData = 5    
 yourTableView.reloadData()