2016-10-18 2 views
1
@implementation UIImageView (AFNetworking) 

を混同していは、アクティブなリクエストURLがurlRequestパラメータと比較され、このメソッドの実装では、この方法AFNetworkが、私は何かが

- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest 
       placeholderImage:(UIImage *)placeholderImage 
         success:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, UIImage *image))success 
         failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, NSError *error))failure 

を持っています条件は真ですか?

私は多くの時間を考えましたが、それはどういう仕組みですか? ほとんどいつもNOです。例えば?

+0

私はあなたの助けが必要です、ありがとう! –

答えて

0

isActiveTaskURLEqualToURLRequest:メソッドの実装では、すでに同じURLからイメージをダウンロードしているアクティブなタスクがあるかどうかを確認します。イメージのダウンロードタスクが完了する前に同じurlRequestパラメータでメソッドが呼び出されると、TRUEが返されます。チェックは、同じUIImageViewの重複した画像のダウンロードを防ぐためのものです。あなたは同じNSURLRequestパラメータ、チェックが行われる最初の時間と同じコードブロックで連続して2回、このメソッドを呼び出すようにした場合、それがアクティブを持っていないため

例えば、ifFALSEと評価されますタスク(1つは作成され、実行されます)。 2回目のチェックでは、ifは画像をダウンロードしているアクティブなタスクが既に存在するため、TRUEと評価されます。

自分で確認するには、このコールをコピーして、次のステートメントとして貼り付けます。 2番目(重複)のコールにブレークポイントを設定し、ステップスルーします。

+0

私は知っています、ありがとう! –

関連する問題