0

リモートコールが行われた後、私はこのコードを持っています

    [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
     {   
         NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] ;
         NSString *responseError = [[NSString alloc] initWithData:error encoding:NSUTF8StringEncoding] ;
         ...

そして最後の行で、コードがクラッシュすることがあります。クラッシュを再現することはできませんが、エラーオブジェクトがnilの場合、クラッシュが発生するという推測があります。エラーが最初にゼロでないかどうかを確認する必要がありますか?

これはcrashalyticsからのエラーです:

Reason:
-[NSURLError bytes]: unrecognized selector sent to instance 0x22b215d0

これは、エラーが発生する理由の私の推測をサポートしていません。このクラッシュが発生する理由はありますか?

ありがとう!

4

1 に答える 1

2

NSErrorオブジェクトをメソッドに渡すことはできませんinitWithData:(オブジェクトを予期しNSDataます。コンパイラの警告が表示される可能性があります。コンパイラの警告を無視しないでください。コードはクリーンにコンパイルされる必要があります。

エラーメッセージを取得するには、NSErrorなどの適切な方法を使用しますlocalizedDescription

NSString *responseError = [error localizedDescription];
于 2012-11-18T21:39:15.680 に答える