私はAFNetworking 2.0でiOS 7用のアプリケーションを書き直しています。リクエストのバッチを一度に送信し、進行状況を追跡するという問題に取り掛かりました。古いAFNetworkingではAFHTTPClient
にenqueueBatchOfHTTPRequestOperations:progressBlock:completionBlock:
メソッドがありましたが、これは明らかにリファクタリングされています。複数のリクエストをエンキューする方法はちょっと混乱しています。AFNetworking 2でリクエストをバッチする方法は?
私はAFHTTPSessionManager
のサブクラスを作成しました。私はPOST:...
とGET:...
メソッドを使用してサーバーと通信しています。しかし、私はコードとドキュメントの中で、以前のAFHTTPClient
のように複数のリクエストを同時にエンキューすることはできません。
AFURLConnectionOperation
の文書化されていないbatchOfRequestOperations:progressBlock:completionBlock:
メソッドが見つかりましたが、これはiOS 6のようです。
新しいNSURLSession
という概念の中で、バッチリクエストや新しいAFNetworking機能の検討に欠かせないものがあります。誰かがここに正しい道で私を助けることを願っています!
tl; dr:AFHTTPSessionManager
サブクラスで一括してリクエストを送信するにはどうすればよいですか? 2.0をAFNetworkingで
AFHTTPSessionManagerは、4つの重要なデリゲートを実装するAFURLSessionManagerを実装します。 NSURLSessionDelegate、NSURLSessionTaskDelegate、NSURLSessionDataDelegate、NSURLSessionDownloadDelegateです。 NSURLSessionDataDelegateは、GET/POSTに最も一般的に使用されます。私たちはsessionManagerをシングルトンしているので、これらのメソッドをオーバーライドするだけです。完了ハンドラのコールバックの1つが - (void)URLSession:(NSURLSession *)セッション dataTask:(NSURLSessionDataTask *)dataTask ... completionHandler :(void(^)(NSURLSessionResponseDisposition disposition))completionHandler。 –