NSURLConnection と NSHTTPURLResponse を使用して API からデータを取得していますが、データが返されない場合にエラーを表示する最善の (または適切な) 方法がわかりません。今のように、私は何も表示しません。基本的に、UITableView データソースを nil に設定するだけです。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSURLRequest *seriesReq = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://url/"]];
NSData *responseData = [NSURLConnection sendSynchronousRequest:seriesReq returningResponse:&urlResponse error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
if([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {
NSError *error;
seriesJson = [NSJSONSerialization
JSONObjectWithData:responseData
options:NSJSONReadingMutableContainers
error:&error];
[_seriesTableView reloadData];
}
else {
seriesJson = nil;
}
});
});
seriesJson にダミーのデータセットを入力し、その内部- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
を if-checking して表示できるようにすることを考えていましたが、何らかの理由でそれが良い解決策とは思えません。
要求されたデータが空であるか使用できないことをユーザーに示すにはどうすればよいですか?