Я нашел этот способ создания каталога, если он не существует. Но это выглядит немного неудобно, и я боюсь, что это может пойти не так в 1 из 1000 попыток.
if(![[NSFileManager defaultManager] fileExistsAtPath:bundlePath]) {
[[NSFileManager defaultManager] createDirectoryAtPath:bundlePath withIntermediateDirectories:YES attributes:nil error:NULL];
}
Существует только этот неудобный метод fileExistsAtPath, который также ищет файлы, а не только каталоги. Но для меня опасная вещь: что, если это пойдет не так? Что мне делать? Что лучше всего гарантировать, что каталог создан и создан только тогда, когда он не существует?
Я знаю, что операции с файловой системой никогда не будут безопасными. Устройство может внезапно разрядиться от батареи сразу же в тот момент, когда он начал лопать биты от А до Б. Или он может наткнуться на плохой бит и повесить на секунду. Возможно, в некоторых случаях он возвращает ДА, даже если нет каталога. Проще говоря: я не доверяю действиям файловой системы.
Как я могу сделать это абсолютно безопасным?