远程调用后我有这段代码
[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
这不支持我猜测错误发生的原因。知道为什么会发生这种崩溃吗?
谢谢!
答案 0 :(得分:2)
您无法将NSError
对象传递给initWithData:
方法(需要NSData
个对象。很可能是您收到编译器警告。永远不要忽略编译器警告。您的代码应编译干净。
要获取错误消息,请使用正确的NSError
方法,例如localizedDescription
。
NSString *responseError = [error localizedDescription];