0

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 して表示できるようにすることを考えていましたが、何らかの理由でそれが良い解決策とは思えません。

要求されたデータが空であるか使用できないことをユーザーに示すにはどうすればよいですか?

4

1 に答える 1

0

提供する情報を使用してユーザーに何を期待するかによって異なります。エラーが発生したことを通知したいだけの場合 (そして頼りがいがない場合) は、ナビゲーション バーにプロンプ​​トを設定するだけで十分な場合があります。ユーザーが実行できるアクションがある場合は、再試行ボタン (またはその他) を備えた UIAlert が適切な場合があります。

于 2012-10-15T11:20:00.597 に答える