iOS URL応答ブール
-
23-12-2019 - |
質問
trueまたはfalseを返すネットWebサービスですが、iOSアプリでその応答をキャッチする方法がわかりません。
私のサービスデータベース内のデータを更新し、私はそれがうまくいくことを知っているデータが更新され、それが問題である反応をキャッチすることが私は何かがうまくいかなかったなら私がユーザーに言うことができるように私は知っているのが好きです。
C#そのBOOLメソッドを知っているあなたのために、単純に捕まえてtrueまたはfalseを返すだけです。
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
//What to write here to catch my true or false
if(response) {
//true
} else {
//false
}
}
.
あなたの助けをありがとう
解決
受信したデータをBOOLとして解釈できるNSDataとconnection:didReceiveData:
を取得および保存するには、– connectionDidFinishLoading:
を実装する必要があります。
基本的にdidReceiveResponse:
は、答え全体ではなく、リクエストへのサーバーの応答についてのみ知っています。
他のヒント
応答のHTTPステータスコード、e.gを確認する必要があります。:
NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];
.
要求が成功したステータスコードは範囲を使用しています[200..299]。
例えば、成功したGETリクエストは、 200(OK)で示されます。
成功した投稿要求は、 201(作成)で示されます。
削除要求が成功すると、 204(コンテンツなし) ..
で示されます。関連項目:wiki HTTPステータスコードの一覧
さらに、サーバーが送信したデータの種類を確認する必要があります。
NSString* mimeType = [response MIMEType];
.
MIMEタイプは、応答のContent-Type
ヘッダにあるサーバによって送信されました。
あなたが実際にあなたがあなたの要求とサーバーに完全に依存するのです。
たとえば、サーバーは常にコンテンツタイプとしてJSONで答えることがあります。この場合、応答のヘッダContent-Type
はapplication/json
になります。答えを表す実際のJSONは、ステータスコードにも関連しています。
ユーザーに素敵な人間の読み取り可能なメッセージを提供するためには、WebサービスAPIを参照して指定されている方法を把握する必要があります。特定のWebサービスAPIはかなりの大きなAPIを持つことができます。残念ながら、いくつかのWebサービスは包括的な文書を欠いています。