1

一般的な TableView データの再読み込みの問題が発生しています。私は同じ主題に関する多くの質問を読みましたが、問題は私のものとまったく同じではありませんでした...

ナビゲーションベースのアプリケーションがあります。RootViewController の viewDidLoad メソッドで、JSON データ (記事) を取得するためにリクエストを行います。接続の読み込みが完了したら、エントリごとにカスタム Article オブジェクトを作成します。Article クラスには initWithDictionnary メソッドがあり、オブジェクトの属性を初期化し、最も重要なこととして、画像をダウンロードするリクエストを作成します。接続の読み込みが完了したら、記事オブジェクトの画像属性を設定します。目標は、ダウンロードした画像で cell.imageView.image プロパティを初期化することです。その時点で、問題が何であるかを推測したかもしれません。セル画像がレンダリングされた後に画像がダウンロードされるため、セルがリロードされるまで空のままになります (たとえば、画面から出てから戻る場合)。特定の時間に reloadData を呼び出す必要があると思いますが、呼び出しません いつかわからない。理想的には、すべてのセルがロードされたときにそれを呼び出しますが、それは可能ではないようです。セルがロードされるのを待ったり、前のセルをリロードしようとしたりするなど、クレイジーなことをたくさん試しましたが、うまくいきませんでした。ここの Q&A を読んで、Apple の LazyTableImage サンプル コードについて学びましたが、すべてを理解しているわけではないので、使用すべき/使用できるかどうかはわかりません。

詳細が必要な場合はお尋ねください。

助けてくれてありがとう。

4

2 に答える 2

1

画像を非同期にロードする必要があります。テーブルデータには、画像が読み込まれたかどうかを指定する行ごとのフィールドが含まれている必要があることに注意してください。これにより、(true の場合) 読み込みをスキップして、キャッシュされた画像のみを表示できます。

最初にこの質問を見てください: Load images async

于 2011-04-13T12:30:15.143 に答える
0

約 10 の優れた遅延読み込み画像 UITableView チュートリアルがあります。一つを選ぶ。

しばらくしてからチュートリアルを確認することで、コツをつかむことができます。これは、このプロジェクトだけでなく、残りのプログラミング キャリアにとって重要な概念です。

画像の遅延読み込み UITableView チュートリアルで賢くなる!

于 2011-04-13T12:47:47.467 に答える