0

次のコードがあります。

            NSString *subtitleFull = [dictionary valueForKey:@"distance"];                
            NSString *subtitle = [subtitleFull substringToIndex:2];

コードを実行すると、次のエラーが表示されます。

           -[NSNull substringToIndex:]: unrecognized selector sent to instance 0x3a61a080

辞書が NSString を返すかどうかを確認しましたが、次のようになります。

              id idont = [dictionary valueForKey:@"distance"];

              if ([idont isKindOfClass:[NSString class]]){
                  NSLog(@"*****************YEA THIS IS IT %@", idont);
              }

文字列は、NSString 型になる前は "12.0093778471967" のようになります。たぶん、int値メソッドを使用する必要がありますか?

このエラーが発生する理由は何ですか?

4

1 に答える 1

0

エラーメッセージは非常に簡単で、subtitleFullnull です。通常、キーが存在しない場合、戻り値は nil になるはずです。したがって、この場合、辞書の値が JSON 文字列または XML からのものでnullあるためだと思います。dictionary値を使用する前に、値が null かどうかを確認してください。

于 2013-06-28T03:13:14.890 に答える