如今(2016)蘋果建議越來越多地使用NSURL
的URL相關的API,NSFileManager
等
要在iOS的文件目錄和斯威夫特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) }
斯威夫特3:
在斯威夫特3 checkResourceIsReachable
被標記爲可以拋出
do {
let fileExists = try databaseURL.checkResourceIsReachable()
// handle the boolean result
} catch let error as NSError {
print(error)
}
只考慮布爾返回值,並忽略錯誤使用零 - 結合運營商
let fileExists = (try? databaseURL.checkResourceIsReachable()) ?? false
只要Swift 2.2是活的,這應該是一個被接受的答案。謝謝。 –
它看起來像答案已更新,所以absoluteString評論似乎已過時。 – Efren