2017-03-18 33 views
1

我想填充表視圖,我認爲我的函數按錯誤順序運行。tableView函數在數組填充之前運行

我有一個簡單的函數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函數?

我一直堅持了幾天,真的很感激任何幫助!謝謝!

回答

2

在您準備好重新填充表格時,請撥打tableView.reloadData(),這將觸發cellForRow。在數據準備好顯示之前,觸發cellForRow也不是問題 - 這是正常的,並不意味着你做錯任何事情。

+0

你是一個巫師!那就做到了!我簡直不敢相信那麼簡單。非常感謝!很高興知道這是正常行爲。 – cstoddart

+0

不客氣!很高興有幫助。 – ClayJ