tableView函数在填充数组之前运行

时间:2017-03-18 02:13:53

标签: swift auth0

我正在尝试填充表视图,我认为我的函数运行顺序错误。

我有一个简单的函数loadSampleAssignments()来填充数组。如果我直接在viewDidLoad中调用该函数,我的表就会正确填充。

问题是我需要在此代码中从Auth0成功响应后调用代码:

fileprivate func retrieveProfile() {
    guard let accessToken = loginCredentials.accessToken else { return }
    Auth0
        .authentication()
        .userInfo(token: accessToken)
        .start { result in
            switch result {
            case .success( _):
                self.loadSampleAssignments()
            case .failure( _): break
            }
    }
}

不幸的是,当我在这里调用函数时,我的UI更新了一个空数组。我可以看到loadSampleAssignments()被调用,但是在我的cellForRowAt函数更新了表格单元格之后。

有没有办法在loadSampleAssignments函数中手动调用cellForRowAt函数?

我已经被困了好几天了,非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:2)

在您准备好重新填充表格时,请致电tableView.reloadData(),这将触发cellForRow。在数据准备好显示之前cellForRow也被触发不是问题 - 这是正常的,并不意味着你做错了什么。