0

NSMuableDictionary から NSString にデータを抽出し、次のように文字列に変換してみてください。

   NSDictionary *error = [[NSDictionary alloc]init];
   NSString *errorCode = [[NSString alloc]init];
   error = [sing.globalCallsDitionary valueForKey:@"Error"];
   NSLog(@"error code %@",[error valueForKey:@"error_code"]);
   errorCode = [error valueForKey:@"error_code"];
   if ([errorCode isEqualToString:@"-1"]) {

if ステートメントが実行されると、配列に関するこのエラーが表示されます。エラーは次のようになります。

2012-04-27 06:34:49.686 CallBiz[10319:707] error code (
    "-1"
)
2012-04-27 06:35:00.602 CallBiz[10319:707] -[__NSArrayI isEqualToString:]: unrecognized selector sent to instance 0x16fc10
2012-04-27 06:35:00.608 CallBiz[10319:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI isEqualToString:]: unrecognized selector sent to instance 0x16fc10'
*** First throw call stack:
(0x3541f88f 0x36846259 0x35422a9b 0x35421915 0x3537c650 0xb2a3 0x353793fd 0x32458faf 0x32458f6b 0x32458f49 0x32458cb9 0x324595f1 0x32457ad3 0x324574c1 0x3243d83d 0x3243d0e3 0x3667222b 0x353f3523 0x353f34c5 0x353f2313 0x353754a5 0x3537536d 0x36671439 0x3246be7d 0x2e61 0x28fc)
terminate called throwing an exception

xCodeが私のものを見ているNSString *errorCode = [[NSString alloc]init];かのようですがNSArray、誰かがこれを手伝ってくれますか?

4

1 に答える 1

2

errorCode が文字列ではなく配列として渡されたため、エラーが発生しました。ここにオブジェクトが1つしかないことが確実な場合は、次を使用できます-

if ([[errorCode objectAtIndex:0] isEqualToString:@"-1"])

errorCode は文字列オブジェクトとして定義されているため、警告は表示されますが、機能します。したがって、応答で取得するデータを確認してから、データ構造を適切に定義する必要があります。

于 2012-04-27T04:09:00.683 に答える