Ngày nay (2016) Apple khuyến nghị ngày càng nhiều hơn để sử dụng API liên quan đến URL NSURL
, NSFileManager
v.v.
Để lấy thư mục tài liệu trong iOS và Swift 2, hãy sử dụng
let documentDirectoryURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory,
inDomain: .UserDomainMask,
appropriateForURL: nil,
create: true)
Điều try!
này là an toàn trong trường hợp này bởi vì thư mục tiêu chuẩn này được đảm bảo tồn tại.
Sau đó nối thêm thành phần đường dẫn thích hợp, ví dụ một sqlite
tệp
let databaseURL = documentDirectoryURL.URLByAppendingPathComponent("MyDataBase.sqlite")
Bây giờ kiểm tra nếu tập tin tồn tại với checkResourceIsReachableAndReturnError
các NSURL
.
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(nil)
Nếu bạn cần lỗi, chuyển NSError
con trỏ đến tham số.
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
được đánh dấu là có thể ném
do {
let fileExists = try databaseURL.checkResourceIsReachable()
// handle the boolean result
} catch let error as NSError {
print(error)
}
Để chỉ xem xét giá trị trả về boolean và bỏ qua lỗi, hãy sử dụng toán tử hợp nhất nil
let fileExists = (try? databaseURL.checkResourceIsReachable()) ?? false