ios - 从远程服务器调用返回并评估错误对象时崩溃

时间:2012-11-18 21:35:43

标签: ios ios5 nsurlconnection

远程调用后我有这段代码

    [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] ;
         ...

在最后一行,有时代码会崩溃。我无法重现崩溃,但有人猜测,如果错误对象为零,则崩溃发生,我是对的吗?我应该检查错误是否不是第一个?

这是来自crashalytics的错误:

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

这不支持我猜测错误发生的原因。知道为什么会发生这种崩溃吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您无法将NSError对象传递给initWithData:方法(需要NSData个对象。很可能是您收到编译器警告。永远不要忽略编译器警告。您的代码应编译干净。

要获取错误消息,请使用正确的NSError方法,例如localizedDescription

NSString *responseError = [error localizedDescription];