iOSアプリでHTTP通信を実装するベーシックな方法はFoundation Frameworkで提供されているNSURLConnectionを利用すること。ドキュメントの「URL Loading System Programming Guide」を一通り読んだので、その基本的な使い方をまとめてみる。 デフォルト設定でGET通信 まずはコードから。Window-based Applicationのプロジェクトテンプレートに対して、処理のエントリポイントをapplication:didFinishLaunchingWithOptions:に追加、他のメソッドは新規で作成。receivedDataはヘッダで定義されているNSMutableData型の変数。あ、テストコードなのでメモリ管理とか気にせず書いてます、あしからず。 - (BOOL)application:(UIApplication *
NSURLConnectionでHTTPリクエストを同期通信・非同期通信してソースを取得。 取得したソースをTextViewに表示。 文字コードは自動判定してくれないらしい。 間違った文字コードを指定するとnilが返ってくるので、日本でよく使われる文字コードを配列にして、それを総当たりでチェック。 もしどれも違ったらASCIIとする。 非同期通信+プログレスバーはFlashでやるのと大体同じだった。 アラートにはデリゲートをつけて、何が押されたかを表示させてみた。 Interface Builder側は割愛。 ソース test1ViewController.h #import <UIKit/UIKit.h> @interface test1ViewController : UIViewController { IBOutlet UIButton *btn1; IBOutlet UIText
NSURLConnectionを使ってURLからデータを非同期的に取得する方法です。 通信による処理によってアプリケーション全体をブロックさせないアプリケーションを書いたり、プログレスバーを作るには非同期的な手法を使うのが一般的です。 サンプルコード URLを指定した非同期的なデータ取得サンプルを以下に示します。 以下のコードの特徴は、delegateされるためのオブジェクトを生成している点です。 以下のサンプルコードは、単に動作の概要を示すためのスケルトンコードであるため各メソッドでNSLogを出力しているだけです。 そのため、データを実際に取得していません。 手元で実行して、メソッドが呼び出されていく様子を見て頂ければ幸いです。 #import // 通信の進捗具合に応じて呼び出される @interface myUrlConnDelegate : NSObject - (void)co
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く