我正在尝试填充表视图,我认为我的函数运行顺序错误。
我有一个简单的函数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函数?
我已经被困了好几天了,非常感谢任何帮助!谢谢!
答案 0 :(得分:2)
在您准备好重新填充表格时,请致电tableView.reloadData()
,这将触发cellForRow
。在数据准备好显示之前cellForRow
也被触发不是问题 - 这是正常的,并不意味着你做错了什么。