2017-02-07 6 views
0

2つのビューがあります。最初のビューにはフォルダ名と検索ボタンのリストがあります。 (tableview)、2番目のビューのユーザーは私のサーバー内のファイルを検索し、それをダウンロードすることができます。 2番目のテーブルビューには、ファイル名、進行状況バー、およびダウンロードボタンがあります。2番目の負荷の後のテーブルビューの更新セルの値

最初のビューでユーザーが検索ボタンをクリックし、ファイル名を検索してダウンロードボタンをクリックすると、ダウンロードボタンの進行状況が表示されます。このプロセスは動作しており、進捗値の変更を確認できます。

最初のビューに戻って2番目のビューを開いてダウンロードプロセスを開始すると、プログレスバーの値を変更できません。

私のコードが動作しているのを見て、テーブルビューの行を更新しようとしましたが、そうではありません。 (私のコードはcellForRowAt indexPathメソッドを呼び出すことができます)

私のコードには何がありますか? テーブルビュー行の値を更新できないのはなぜですか?

私の更新コード:

let indexPath = IndexPath(row: 2, section: 0) 
tableView.beginUpdates() 
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.automatic) 
tableView.endUpdates() 

私は最初の呼び出しリロードテーブルビューの行よりもモデルを更新しています。コード:

dataArray[cellNum].progressValue = taskProgress 

//テーブルビューcellforRowAt:

let identifier = "Cell" 
let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as! SearchListCell 

cell.circularProgress.angle = dataArray[indexPath.row].progressValue 
cell.titleLabel.text = dataArray[indexPath.row].title 

return cell 

はまた、私はと更新行を試してみました:

let cell = self.tableView.cellForRow(at: indexPath) as! SearchListCell! 
let progressInfo = self.dataArray[indexPath.row] 
cell?.circularProgress.angle = progressInfo.progressValue 
+0

コード作業とUI画像を追加します。 –

答えて

0

どのようにあなたのプログレスバーの値を扱うのですか?

bar値を含む変数を実行してから、cellForRowAtにセルのプログレスバー値をその変数に設定します。既にこれを行った場合は、コードをさらに表示してください。それが役に立てば幸い!

+0

あなたの答えはルーカスありがとう。私は配列モデルを持っており、その中にプログレッション値があります。ユーザーがダウンロードプロセスを開始すると、進行状況の値を変更してテーブルビュー関連の行をリフレッシュします。私は進歩の価値を得て、デリゲートを介してモデルでそれを変更します。私はテーブルビュー行をリフレッシュするときにモデルの正しいデータを見ることができます。すべてがうまく見えますが、私はtableviewでデータを見ることができません。 (最初に起動し、以前のページに戻って再びダウンロードページを開くと、データは変更されません(ダウンロードプロセスが動作し、ダウンロードされました、モデルデータは正しいです)) – John

+0

私たちにあなたのcellForRowAtを教えてください。 –

+0

私の投稿を更新し、より多くのコードを追加しました。 – John

関連する問題