3

tableViewのセルにデータを挿入する際に問題が発生しました。エラーの原因を検索したところ、Webサービスがnull値を返していることがわかりました。そのため、セルに名前を呼び出すと、nullである引数がクラッシュします。したがって、原因はデータベースの問題です。たとえば、次のようなものの追加はスキップします:{"name": "null"}

他のサービスでは、null値が空になります...したがって、問題は発生しません。文字列としてのnull値だと思います。

次に例を示します。

{
    "24_7" = 0;
    address = "avenue innsbruck";
    city = GRENOBLE;
    country = FR;
    dst = "14007.2046741012";
    "h_saturday" = " - ";
    "h_sunday" = " - ";
    "h_week" = " - ";
    id = 324;
    "location_lat" = "45.154";
    "location_long" = "5.73387";
    name = "<null>";
    "tel_1" = 0476544254;
    "tel_2" = "";
    zipcode = 38000;
}

ここでjsonを解析しているときに、これを追加するのをスキップしたいだけです。

NSString *theJSON = [request responseString];

SBJsonParser *parser = [[SBJsonParser alloc] init];

NSDictionary *jsonDictionary = [parser objectWithString:theJSON error:nil];

//NSLog(@"OkRequest || %@ ", jsonDictionary);

[_jsonStation removeAllObjects];
for (NSDictionary *taxi in jsonDictionary)
{

    [_jsonStation addObject:taxi];

}
4

1 に答える 1

12

ループでこれを行うことにより、オブジェクトがnullであるかどうかをテストできます。

if ([taxi isKindOfClass:[NSNull class]])
    continue;
//else, process it
于 2012-05-31T15:10:06.637 に答える