現在、単純なデータを含む多くのセルを含む1つのUITableViewControllerがあります。 UITableViewControllerがUITableViewCellをインスタンス化すると、各セルのバックグラウンドスレッドの実行が開始され、サーバーから状態が取得されます。 UITableViewCellはサブクラス化されていて、すでにUIImageViewプロパティを持っています。このプロパティは、サーバーからのデータの準備ができたらコンテンツビューに追加する必要があります。データが利用可能になったら、UITableViewCellを効率的に再描画する方法
私の問題は、バックグラウンドスレッドから新しいデータを取得するたびに[tableView reloadData]を呼び出す必要があるということです。影響を受けたセルに直接アクセスしてcontentViewにUIImageViewを追加するだけで十分です。私は、自分のデータ管理ユーティリティがその作業(サーバーに話すこと)を終えたときに、そのセルを見つける最善の方法がわからないだけです。
バックグラウンドタスクを実行するためにデータマネージャを呼び出すときにセルのindexPathを渡した後、タスクが完了したときにindexPathを戻すなどの処理を行うのは意味がありますか?それは過労ですか?
この共通のタスクを処理するための好きな方法は何ですか?
ありがとう、SOの乗組員。
ダニエル - それが動作します。私の問題は、私はすでにイメージがあることです。私はちょうどサーバー上のモデルからより多くの情報を取得する必要があります。だから、私は、セルのサブクラス自体、またはデキュープロセス内にロジックを残す必要があるかどうかで壊れてしまいます。 –
@Steve - 追加のデータがセルの高さの変更を終了した場合、とにかくテーブル全体のリロードを行う必要があります。それ以外の場合、私はあなたのセルをデータフェッチリクエストの代理人にします。 dataRequestのようなもの:receivedData: –