NSURLConnectionを使用すると、別のスレッドで自動的に実行されます。
viewDidLoadで:
NSURLRequest *req = [NSURLRequest requestWithURL:theURL];
NSURLConnection *conn = [NSURLConnection connectionWithRequest:req delegate:self];
次に、いくつかのカスタムメソッドが必要です。入力し-connection
てEscキーを押すと、使用できるさまざまな方法がすべて表示されます。これには3つ必要です。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
// this is called when there is a response
// if you're collecting data init your NSMutableData here
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
// each time the connection downloads a
// packet of data it gets send here
// so you can do [myData appendData:data];
}
- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
// the connection has finished so you can
// do what you want with the data here
}
基本的にはこれですべてです。NSURLConnectionは、すべてのマルチスレッド自体を処理するため、心配する必要はありません。これで、アクティビティインジケーターを作成して表示でき、メインスレッドが空であるため機能します。:)