Прекратить поиск, нет никакого способа, и для этого есть веская причина: безопасность ваших данных.
Вы всегда должны получать URL каталога документов с помощью FileManager.default.url(for
, это не так.Это дорого.
Guard
Если URL-адрес не требуется, папка документов гарантированно существует.
Возвращает только имя файла, а не полную строку URL-адреса, и я рекомендую сделатьФункция throw
для передачи всех ошибок.
enum FileError : Error {
case noData
}
static func saveToDocument(name: String, image: UIImage) throws -> String {
guard let data = image.pngData() else { throw FileError.noData }
let directory = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let fileURL = directory.appendingPathComponent("\(name).png")
try data.write(to: fileURL)
return fileURL.lastPathComponent
}
И никогда не используйте NS...
классы, такие как NSURL
в Swift, если есть собственный аналог (URL
).