2017-03-18 10 views
1

テーブルビューにデータを挿入しようとしていますが、関数が間違った順序で実行されていると思います。配列が読み込まれる前にtableView関数が実行される

私は、配列を生成する単純な関数loadSampleAssignments()を持っています。その関数をviewDidLoadで直接呼び出すと、テーブルが正しく読み込まれます。

問題は、私はこのコードでAuth0からの正常な応答の後にコードを呼び出す必要があるということです:私は空の配列と私のUIのアップデートここでは関数を呼び出すとき、残念ながら

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 
      } 
    } 
} 

。私は、loadSampleAssignments()が呼び出されていることがわかりますが、私のcellForRowAt関数がテーブルのセルを更新した後です。

私のloadSampleAssignments関数内で手動でcellForRowAt関数を呼び出す方法はありますか?

私は数日間立ち往生しており、これについての助けに本当に感謝しています!ありがとう!

答えて

2

テーブルを再投入する準備ができたら、cellForRowをトリガーするtableView.reloadData()に電話してください。データが表示される準備が整う前にcellForRowがトリガーされることは問題ではありません。これは正常であり、何か間違っていることを意味するものではありません。

+0

あなたはウィザードです!それはそれでした!私はそれがそれほど単純ではないと信じられません。どうもありがとうございます!それが正常な動作であることを知って非常にうれしいです。 – cstoddart

+0

あなたは大歓迎です!喜んで助けになる。 – ClayJ

関連する問題