Есть ли более безопасный способ создать каталог, если он не существует?

Я нашел этот способ создания каталога, если он не существует. Но это выглядит немного странно, и я боюсь, что это может пойти не так в 1 из 1000 попыток.

if(![[NSFileManager defaultManager] fileExistsAtPath:bundlePath]) {
    [[NSFileManager defaultManager] createDirectoryAtPath:bundlePath withIntermediateDirectories:YES attributes:nil error:NULL];
}

Есть только этот неудобный метод fileExistsAtPath, который также ищет файлы, а не только каталоги. Но для меня опасно: что, если что-то пойдет не так? Что мне делать? Как лучше всего гарантировать, что каталог создается и создается только тогда, когда он не существует?

Я знаю, что операции с файловой системой никогда не бывают безопасными. Устройство могло внезапно потерять заряд батареи как раз в тот момент, когда оно начало перелопатить биты от A до B. Или оно может наткнуться на плохой бит и зависнуть на секунду. Может быть, в некоторых редких случаях он возвращает ДА, даже если нет каталога. Проще говоря: я не доверяю операциям файловой системы.

Как я могу сделать это абсолютно безопасным?

38
задан Meet Doshi 7 January 2016 в 09:30
поделиться