У меня есть простой тест isEqualToString в моем приложении, и по какой-то причине он всегда принимает ложный путь к оператору if, даже если консоль показывает, что он должен принимать истинный путь.
Вот код, который находится под вопросом:
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"Program requestFailed with error '%@' and reason '%@'", [error localizedDescription], [error localizedFailureReason]);
NSString *errorMessage = [NSString stringWithFormat:@"%@",[error localizedDescription]];
if ([[error localizedFailureReason] isEqualToString:@"(null)"])
{
}
else
{
errorMessage = [errorMessage stringByAppendingFormat:@"\nReason: %@", [error localizedFailureReason]];
}
[Utils msgBox:@"Error with Data Download" message:errorMessage];
}
И в консоли:
2011-04-15 14:27:07.341 Program[79087:207] Program requestFailed with error 'The request timed out' and reason '(null)'
2011-04-15 14:27:07.341 Program[79087:207] Displaying a message box with title 'Error with Data Download' and message 'The request timed out
Reason: (null)'
Метод msgBox в моем классе Utils выводит заголовок и сообщение на консоль, котораяоткуда взялась вторая строка.
Я уже давно смотрю на это, и ответ должен быть настолько легким, что он ускользает от внимания.Какие-либо предложения?(Я пытался обрезать пробелы [ошибка localizedDescription], но безрезультатно.) Я использую последний iOS SDK 4.3.