2017-08-19 3 views
0

UITableViewの再利用可能なセルが返される直前に、以下のメソッドが呼び出されます。スクロールしたセル内の写真を削除するのに、prepareForReuseを使用できますか?prepareforreuseメソッドは、テーブルビューのセルデータの読み込みエラーを防止します。

このようにして、補正された画像は、指定されたセルにロードされ、ユーザーがあまりにも速くスクロールしすぎると間違った写真が読み込まれるのを防ぐことができます。

これが問題ないのか、それを使用するのが冗長かどうか誰にでも教えてください。それを行う他の方法はありますか? (私はsd_webimageを使って私のテーブルビュー用の画像を読み込みます)。

override func prepareForReuse() { 
    super.prepareForreuse() 
    mypostImage.image = nil 
} 
+0

すでにセルを識別子でデキューしていますか?もしそうなら、過度のことであり、完全に不要であると思われます。さらに、意図しない副作用がある可能性があります。 – mrabins

+0

はい、私はすでにセルをデキューしていますが、ユーザーが非常に高速にセルをスクロールダウンすると、一部のセルがデュークセルから外れていて、イメージをダウンロードする必要はありません。それはもはや必要ではありません。私は間違っていると思う、私は初心者です、非常に混乱し、この領域についてはぼやけます。私の質問に答えてくれてありがとう –

答えて

-1

それほど強調する必要はありません。解決策はずっと簡単です。

テーブルを残してセルを処理し、それを混乱させないでください。 プロトタイプのセルクラスでは、サービスからイメージを取得するメソッドが必要です。トリックは、あなたが求めているイメージURLを保存することです。そして、あなたがサービスからイメージを取得するとき、それがあなたが尋ねたものかどうか尋ねるだけです。それ以外は何もしません。

もっと複雑なアプローチは同じことを行い、新しい画像が要求された場合に古い画像の要求を取り消すことです。

関連する問題