コレクションビューのセルを使用したときに既に送信されているリクエストを取り消すのに苦労しています。(同じリクエストを既に送信しているのでリクエストをキャンセルしたい場合は...) CancelRequestForRequestReceiptメソッドを使用する必要があると推測します。問題は、このRequestReceiptを取得する方法が明確でないことです。AlamofireImageで画像のダウンロードをキャンセルする
例:私は戻ってスクロールして、高速転送する場合
我々は、...(各画像は別のURLを持っている)af_cancelImageRequestが仕事をすると、アクティブ2を作成しません方法を異なるイメージを持つコレクションビューを持っていますスーパー!、問題は、私たちが1つの方向にスクロールしようとしたときに、1000個の画像があるということです。基本的に、画像が返される前に、送信したリクエストをキャンセルできるようにしたい私たちはイメージを持っておらず、AlamofireImageはそのリクエストを続行しません...セルが消えた後(ゆっくりとしたインターネットとフェストのスクロールによって).. 私はそれが正しいとすれば、cancelRequestForRequestReceipt ...問題は、このRequesを取得する方法を見つけることができないことですtReceiptは...
ところで:私は、サンプルコードそのAlamofireImageデモアプリ、
override func prepareForReuse() {
super.prepareForReuse()
imageView.af_cancelImageRequest()
imageView.layer.removeAllAnimations()
imageView.image = nil
}
を見て、私が言ったように、このコードは、要求が操作キューにすでにされている場合にのみ、画像のための要求をキャンセルします。..
ヘルプ:)
ありがとう@Victor Sigler!私はKingFisherをチェックします:) – Sosily
@Victor Sigler、KingFisherの "調整"を担当するドキュメント(またはより良いソースファイル)を指してください。 – kean