swift如何修改全局变量

xxx织梦者
  • 1.9k

在函数定义了一个全局变量
var shujuyuan: Array<String> = []

viewDidLoad()里面对其进行了修改,增加了数组元素

  
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        

下面这里并没有修改,输出来是0 怎么破

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.shujuyuan.count
}
回复
阅读 3.5k
1 个回答
✓ 已被采纳

你这个问题和数据源没什么关系,你是没搞懂异步

第一 开始 你的 shujuyuan 是空
这时候 你异步请求数据 Alamofire.request
但是 这时候 绑定数据源的两个回调 开始执行
有多少行 numberOfRowsInSection
生成每行 cellForRowAtIndexPath
由于你异步请求很慢 所以 这里无法绑定任何数据

你必须在数据都加载完毕后 shujuyuan不是空的情况下
执行self.tableview.reloadData()
才能绑定数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏