Obecnie (2016) Apple zaleca bardziej używać URL powiązany API NSURL
, NSFileManager
itd.
Aby uzyskać katalog dokumentów w iOS i Swift 2 użyj
let documentDirectoryURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory,
inDomain: .UserDomainMask,
appropriateForURL: nil,
create: true)
W try!
tym przypadku jest bezpieczny, ponieważ istnieje gwarancja, że ten standardowy katalog istnieje.
Następnie dołącz odpowiedni składnik ścieżki, na przykład plik sqlite
plik
let databaseURL = documentDirectoryURL.URLByAppendingPathComponent("MyDataBase.sqlite")
Teraz sprawdź, czy plik istnieje z checkResourceIsReachableAndReturnError
o NSURL
.
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(nil)
Jeśli potrzebujesz błędu, przekaż NSError
wskaźnik do parametru.
var error : NSError?
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(&error)
if !fileExists { print(error) }
Swift 3+:
let documentDirectoryURL = try! FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: true)
let databaseURL = documentDirectoryURL.appendingPathComponent("MyDataBase.sqlite")
checkResourceIsReachable
jest oznaczony jako może rzucać
do {
let fileExists = try databaseURL.checkResourceIsReachable()
// handle the boolean result
} catch let error as NSError {
print(error)
}
Aby wziąć pod uwagę tylko wartość logiczną zwracaną i zignorować błąd, użyj operatora łączenia zerowego
let fileExists = (try? databaseURL.checkResourceIsReachable()) ?? false