.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.29 2009

ネットワークプログラミング入門編(4)

Tasaki です。

昨日は、製品アップデートのお知らせでしたので、間が空いてしまいましたが今回はネットワークプログラミング入門編の続きです。

前回、レスポンスの取得法について触れましたが、今回は実際のコード例をご紹介します。
例えばHTTPレスポンスから、特定のヘッダ情報を読み取る場合はこのように記述します。
- ( void ) connection:( NSURLConnection *) connection didReceiveResponse:( NSURLResponse *) response {
if([ response isKindOfClass:[ NSHTTPResponse class ]]) {
  NSHTTPURLResponse *httpResponse = ( NSHTTPURLResponse *) response;
  NSString *headerValue = [[ httpResponse allHeaderFields ] stringForKey: @"AnyValue" ];
  if([ headerValue isEqualToString: @"1" ]) {
   // 成功時の処理
  } else {
   // 失敗時の処理
  }
 }
 [ connection release ];
}

このコードについて解説しますと、まず response が NSHTTPURLResponse オブジェクトかどうかを調べています。HTTPリクエストを送っていれば、HTTP レスポンスが渡されているはずです。
それから、レスポンスのヘッダ情報の中から AnyValue という特定のヘッダ情報の値を取得しています。この場合、サーバ側では処理に成功すると1を、失敗すると0を書き込むと想定していますので、クライアント側ではその値によって処理を分岐するようにしています。
最後に connection をリリースしていますが、これはコネクションの作成時に init... を使用していた場合に必要な措置です。今回は、レスポンスまでしか必要でなかったので、ここでリリースしちゃってますが、本来なら送受信の最後に呼びだされるデリゲートメソッドでこの解放処理をすべきでしょう。また、コネクション失敗時のデリゲートメソッドでも同様の処理を実装する必要があります。



関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/63-63ad380e

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。