非同期リクエストNSURLConnection
とそのデリゲート メソッドをカプセル化するクラスを実装しました。ビューのボタンがタップされるたびにビュー コントローラーでこのクラスのインスタンスを作成し、ネットワーク リクエストを行うように要求します。
- (IBAction)getData:(id)sender
{
// Perform network request
Updater *updater = [[Updater alloc] init];
[updater queryService:self.date];
}
そのようなqueryService:
方法は次のようなものです:
- (void)queryService:(NSDate *)date
{
self.responseData = [NSMutableData data];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:kTimeout];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
}
Updater
は非同期操作を実行しているため、ローカル変数として宣言したインスタンスが呼び出されるまで保持されるか、呼び出し元のビュー コントローラーでのプロパティを作成するかどうかupdater
はconnection:didFailWithError:
わかりませんconnectionDidFinishLoading:
。ARCを使用しています。strong
Updater
ありがとう!