Зачастую пользуешься функциями, которые возвращают параметр NSError *error в виде &error. Я не мог никак понять, как же пользоваться этим, пока не перечитал несколько постов на эту тему.
Оказывается, для того, чтобы проверить, есть ли вообще error, прежде чем выводить, нужно при инициализации задать еще nil для него. А для того, чтобы проверить error на наличие достаточно просто писать if(error). Это возможно благодаря особенностям класса NSError.
NSError *error = nil;
NSString *urlString = [NSString stringWithFormat:@"http://yandex.ru"];
NSLog(@"Eval urlString=%@", urlString);
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response
error:&error];
if (error) {
NSString *rusErrorMsg = NoServerConnectionMsg;
msg = [NSString stringWithFormat:@"Ошибка:%@", rusErrorMsg];
[appDelegate showResultViewWithText:msg fromView:self.view withSpeed:ResultViewSpeed];
return;
}
NSString *urlString = [NSString stringWithFormat:@"http://yandex.ru"];
NSLog(@"Eval urlString=%@", urlString);
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response
error:&error];
if (error) {
NSString *rusErrorMsg = NoServerConnectionMsg;
msg = [NSString stringWithFormat:@"Ошибка:%@", rusErrorMsg];
[appDelegate showResultViewWithText:msg fromView:self.view withSpeed:ResultViewSpeed];
return;
}