В Swift вы можете использовать метод checkResourceIsReachable()
, который, к сожалению, либо вернет true
(если файл доступен), либо выдаст ошибку (объясняя, почему он не может быть достигнут).
Чтобы вместо этого получить значение bool true / false, используйте следующий синтаксис:
let exists = (try? inputFile.checkResourceIsReachable()) ?? false
Если вы хотите зарегистрировать ошибку:
let exists: Bool
do {
exists = try inputFile.checkResourceIsReachable()
} catch {
exists = false
print(error.localizedDescription)
}
Имейте в виду, что это дорогостоящая операция, и она может быть устаревшей сразу после (если какой-то другой процесс удаляет или отключает файл диска, когда вы проверяете, существует ли он).
Как правило, предпочтительным подходом является не проверка наличия файла, а просто попытка чтения или записи в файл и последующая обработка любой ошибки в случае сбоя.