Мой код выглядит так, иногда приложение падает в последней строке при попытке зарегистрировать ошибку. Что я делаю не так?Правильный способ обращения к NSError
BOOL isDir;
NSError *error;
NSString *downloadPath = [[NSString stringWithFormat:@"%@/%@", [download downloadFolder], [download escapedTitle]] stringByExpandingTildeInPath];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:downloadPath isDirectory:&isDir])
{
[fileManager createDirectoryAtPath:downloadPath withIntermediateDirectories:YES attributes:nil error:&error];
if (error)
NSLog(@"%@", [error localizedDescription]);
}
Я также прикрепил выход из консоли:
@Wain Хотя это может работать для большинства практических целей, она не гарантируется, так как указатель может быть изменен на неверное значение во время выполнения метода. Значение 'error' будет действительным только в том случае, если метод возвращает' NO'. – gaige
@gaige Правда, это не должно произойти, но это действительно так. – Wain
@Wain Нет, нет причин для инициализации указателя 'error' на' nil', и никогда не используется для использования 'if (error) ...'. – bbum