iPhoneネットワークプログラミング(非同期通信)

このエントリーを含むはてなブックマークはてなブックマーク - iPhoneネットワークプログラミング(非同期通信)

さて、前回(iPhoneネットワークプログラミング(同期通信))は同期通信でデータを取得しました。今回は、非同期通信を使ってデータを取得してみましょう。

- ( void ) connection:( NSURLConnection *) connection didReceiveData:( NSData *) data
{
	NSLog(@"%@", [[[NSString alloc] initWithData:data 
		encoding:NSASCIIStringEncoding] autorelease]);
}

- (void)viewDidLoad {
	[super viewDidLoad];
	NSString *url = [NSString stringWithString:@"http://google.co.jp"];
	NSURLRequest *request = [ NSURLRequest requestWithURL:
		[NSURL URLWithString:url] cachePolicy: 
		NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 60.0 ];
	[ NSURLConnection connectionWithRequest: request delegate: self ];
}

前回と同様、実行するためにはview-based applicationでプロジェクトを作成して、
viewController.mの中身に上記プログラムを追加してください。

URLとタイムアウトを設定したNSURLRequestオブジェクトを作成し、
NSURLConnectionクラスのconnectionWithRequest:delegateメソッドを使って
コネクションを張ります。

今回のプログラムではデリゲートは自分自身(viewController)を登録しておきます。
デリゲートってなんぞや?という方はこちら
Objective-Cのデリゲート

データがサーバから送り返されてくるとconnection:didReceiveData:メソッドがトリガされます。データが大きい時には数回このメソッドが呼び出されることになります。

実際にコンパイル&実行してみて
HTMLの内容がコンソールに表示されることを確認してみましょう。

次回はファイルダウンロードについて紹介します
iPhoneネットワークプログラミング(ファイルダウンロード)

2 Responses to “iPhoneネットワークプログラミング(非同期通信)”

  1. [...] iPhoneアプリと、そのプログラム iPhoneアプリを作る際に役立つプログラムを置いています コンテンツへ移動 ホーム紹介 ← iPhoneネットワークプログラミング(非同期通信) [...]

  2. [...] iPhoneネットワークプログラミング (同期通信) iPhoneネットワークプログラミング (非同期通信) iPhoneネットワークプログラミング (ファイルダウンロード) [...]

Leave a Reply

You must be logged in to post a comment.