次のコードがあります。
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://some-example-domain.com/api"]
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:30.0];
[NSURLConnection sendAsynchronousRequest:theRequest
queue: [NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (!error && data) {
// success!! - no errors and data returned
NSLog(@"success");
} else {
// error!! - something whent wrong
NSLog(@"failure: %@", [error localizedDescription]);
}
}
];
これはうまく機能します-サーバーが目的の応答の一部(たとえば、APIからのJSON応答の半分)のみを送信するという奇妙な場合を除きます(私の「if」ステートメントによると、それでも「成功」しています)
このブロックベースの方法を使用して、受信したデータが完全であることを確認できる方法はありますか??
NSURLResponse *response を調べてみましたが、その使用方法がよくわかりません (または、このシナリオで実際に役立つかどうか)。ブロックによって返された「部分的に受信された」データをテストする方法についてのアイデアはありますか?