NSURL - 收到错误消息

时间:2013-10-30 23:52:27

标签: ios objective-c nsurlrequest

在我的ViewController中,我使用块发送URL请求:

[urlRequest startWithCompletion:^(URLRequest *request, NSData *data, BOOL success) {
    if (success)
    {
        do something
    }
    else 
    {
         NSString *errorMessage = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
         NSLog(@"error  %@", errorMessage);
    }
}];

在URLRequest类中,我有didFailWithError方法:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
{
       completion(self, webData, NO);
       NSLog(@"Connection failed! Error - %@",
       [error localizedDescription]);
}

如果出现通信错误,'webData'为空,因此ViewController中的'errorMessage'为空,而我希望将'error'(来自URLRequest类)返回给我的View Controller,以便我可以显示错误消息给用户。

我该怎么做?

谢谢, 的Corrado

1 个答案:

答案 0 :(得分:3)

我不会重载您的data对象以用于数据和错误。为什么不在URLRequest类中使用更像这样的方法:

- (void)startWithCompletion:^(URLRequest *request, NSData *data, NSError *error)

然后,您可以通过[NSURLConnection :didFailWithError:]方法将错误传回给来电者。