如今(2016)苹果越来越推荐使用NSURL、NSFileManager等URL相关API。
要在 iOS 和 Swift 2 中获取文档目录,请使用
let documentDirectoryURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory,
inDomain: .UserDomainMask,
appropriateForURL: nil,
create: true)
try! 在这种情况下是安全的,因为这个标准目录保证存在。
然后附加适当的路径组件,例如sqlite 文件
let databaseURL = documentDirectoryURL.URLByAppendingPathComponent("MyDataBase.sqlite")
现在用NSURL 的checkResourceIsReachableAndReturnError 检查文件是否存在。
let fileExists = databaseURL.checkResourceIsReachableAndReturnError(nil)
如果您需要错误,请将NSError 指针传递给参数。
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 被标记为可以抛出
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