問題タブ [nsurlconnection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 複数の非同期 NSURLConnection 接続の管理
私のクラスには、次のような繰り返しコードがたくさんあります。
非同期リクエストの問題は、さまざまなリクエストが発生し、それらすべてを 1 つのエンティティとして扱うデリゲートが割り当てられている場合、多くの分岐と醜いコードが次のように定式化し始めることです。
どのような種類のデータが返されますか? これが含まれている場合はそれを行い、そうでない場合はその他を行います。ビューにIDでタグ付けできるように、これらの非同期リクエストにタグ付けできると便利だと思います。
複数の非同期リクエストを処理するクラスを管理するには、どの戦略が最も効率的かということに興味がありました。
iphone - iPhoneでURLからデータを受信するにはどうすればよいですか?
Apple のドキュメントのコードを使用して、HTTP 通信を行っています。URL には正常に接続できますが、サーバーからデータを受信できませんでした。
理由は次のとおりです。
receivedData
私はアクション自体で宣言します。注釈には、別の場所で宣言する必要があると書かれています。どこに申告すればいいですか?コントローラーのプロパティとして宣言する必要がありますか?[[NSMutableData data] retain]
の外部にあるため、URL をどのように見つけることができますif{}
か?
iphone - iPhone SDK を使用して大きなファイルをダウンロードし、メモリ使用量の問題を回避するにはどうすればよいですか?
このクラスを使用NSURLConnection
して iPhone アプリケーションで大きなファイルをダウンロードしていますが、メモリの使用量が多すぎるため、頻繁にクラッシュします。受信したデータをオブジェクトNSURLConnection
に追加するために、通常の使用法を行っています。NSMutableData
次に、ファイル全体のダウンロードが完了したら、それをローカルの一時ファイルに保存し、次のようにマップされたファイルとして読み取ります。
これらのメモリ使用量の問題を回避するために、ここで何を改善できますか?
iphone - NSURLConnection、NSURLRequest、およびリモート キャッシング
iPhone で NSURLConnection 非同期接続を使用したリクエスト キャッシュに小さな問題があります。何かを間違って理解しているのか、それとも Cocoa が本来の動作とは逆のことを行っているのかはわかりません...
NSURLRequest のドキュメントには、次のように記載されています。
NSURLRequestReloadIgnoringLocalCacheData
URL ロードのデータを元のソースからロードする必要があることを指定します。URL ロード要求を満たすために、既存のキャッシュ データを使用しないでください。
と:
NSURLRequestReloadIgnoringLocalAndRemoteCacheData
ローカル キャッシュ データを無視するだけでなく、プロトコルで許可されている限り、プロキシやその他の中間体にキャッシュを無視するように指示する必要があることを指定します。
ここで、NSURLRequestReloadIgnoringLocalCacheData (ローカル キャッシュを無視することになっていますが、利用可能な場合はリモート キャッシュを使用することになっています) で NSURLRequest を送信すると、送信されるヘッダーは次のようになります。
そして、ステータスは 200 OK です。しかし、名前が示すように、ローカル キャッシュとリモート キャッシュの両方を無視することになっている NSURLRequestReloadIgnoringLocalAndRemoteCacheData を使用すると、ヘッダーが 1 つ追加されます。
応答は 304 Not Modified です。HTTP RFC を確認したところ、「If-None-Match」については次のように書かれています。
エンティティ タグのいずれかが、そのリソースの同様の GET 要求 (If-None-Match ヘッダーなし) への応答で返されるエンティティのエンティティ タグと一致する場合、(...) サーバーは、してはなりません (MUST NOT)。要求されたメソッドを実行する (...) 代わりに、要求メソッドが GET または HEAD の場合、サーバーは 304 (Not Modified) 応答で応答する必要があります (SHOULD)。
したがって、リモート キャッシュを無視する代わりに NSURLRequestReloadIgnoringLocalAndRemoteCacheData を使用すると、Cocoa はリモート サーバーにリモート キャッシュを使用するように明示的に指示し、NSURLRequestReloadIgnoringLocalCacheData を使用すると、その行は追加されず、実際にはリモート キャッシュは追加されません。使用済み。
では、ここで何が起こっているのでしょうか。何か見逃していましたか、それとも Cocoa が間違ったヘッダーを設定していますか?
iphone - NSURLConnection の失敗に関する質問
以下にリストされているように、私は NSURLConnection を使用しています。このクラスについて 3 つの質問があります。URL 値を連結すると、デバッガーはこの行に 2 回ヒットしますが、その上の行にはヒットしません。
2 回目は EXC_BAD_ACCESS を取得します。最初の URL 割り当て (コメント アウト) を使用すると正常に動作します。
1.) 違いは何ですか?
2.) ファイル名を afile.mp に変更すると、リクエストは通過し、[receivedData length] の値は約 1600 になります。
打たれる。receivedData に要求している実際のデータがあるかどうかを正確に確認する方法はありますか? ターゲット ファイルは約 7 MB ですが、1.5 MB から 9 MB までさまざまです。リクエストしたリソースがありませんでしたが、それを示すものはありますか?
3.) アプリデリゲートでこれを行っています。そこにある唯一のプロトコルは UIApplicationDelegate です。デリゲートがない場合、すべての NSURLConnection メソッドはどのように機能しますか?
iphone - IPhone の HttpBasicAuthentication
私のiPhoneアプリでは、承認が必要なサーバーからiPhoneに画像を表示しようとしています。NSURLConnection を使用して画像を取得しようとしていますが、ユーザーの資格情報を求められません。つまり、didReceiveAuthenticationChallenge メソッドにはまったく行きません。誰でもこの問題で私を助けることができますか?