В даний час (2016) Apple рекомендує все більше і більше , щоб використовувати URL пов'язаний API з NSURL
, і NSFileManager
так далі
Для отримання каталогу документів в iOS та Swift 2 використовуйте
let documentDirectoryURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory,
inDomain: .UserDomainMask,
appropriateForURL: nil,
create: true)
У try!
цьому випадку безпека, оскільки цей стандартний каталог гарантовано існує.
Потім додайте відповідний компонент шляху, наприклад sqlite
файл
let databaseURL = documentDirectoryURL.URLByAppendingPathComponent("MyDataBase.sqlite")
Тепер перевірте, існує чи файл з checkResourceIsReachableAndReturnError
з NSURL
.
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(nil)
Якщо вам потрібна помилка, передайте NSError
вказівник на параметр.
var error : NSError?
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(&error)
if !fileExists { print(error) }
Швидкий 3+:
let documentDirectoryURL = try! FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: true)
let databaseURL = documentDirectoryURL.appendingPathComponent("MyDataBase.sqlite")
checkResourceIsReachable
позначено як може кинути
do {
let fileExists = try databaseURL.checkResourceIsReachable()
// handle the boolean result
} catch let error as NSError {
print(error)
}
Щоб врахувати лише булеве повернене значення та ігнорувати помилку, скористайтеся оператором nil-coalescing
let fileExists = (try? databaseURL.checkResourceIsReachable()) ?? false