Swift 2.0 中的 NSFileManager fileExistsAtPath?
NSFileManager fileExistsAtPath in Swift 2.0?
因此,使用 Swift 2.0,Apple 似乎正在引导我们使用 NSURL
而不是 NSString
作为路径。
我正在尝试确定某个文件是否存在于 iOS 中用户的文档目录中,但我无法完全拼凑起来。
如果我使用下面的,Swift 2.0 会抱怨我不应该使用 stringByAppendingPathComponent
,而我应该使用 URLs.
let documents = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let dbPath = documents.stringByAppendingPathComponent(“Whatever.sqlite”)
如果我得到 URL,就像这样:
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent("Retrollect.sqlite”)
然后我无法调用 NSFileManager.defaultManager().fileExistsAtPath
来确定文件是否存在。
对于 NSURL
,是否有等效于 fileExistsAtPath()
的功能来查看用户的文档目录?
没关系,"five seconds later" 个答案之一。
我可以使用 fileExistsAtPath(theURL.path)
来做到这一点。当然,首先要检查 path
是否为非零!
Swift 4 版本:
FileManager.default.fileExists(atPath: url.path)
因此,使用 Swift 2.0,Apple 似乎正在引导我们使用 NSURL
而不是 NSString
作为路径。
我正在尝试确定某个文件是否存在于 iOS 中用户的文档目录中,但我无法完全拼凑起来。
如果我使用下面的,Swift 2.0 会抱怨我不应该使用 stringByAppendingPathComponent
,而我应该使用 URLs.
let documents = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let dbPath = documents.stringByAppendingPathComponent(“Whatever.sqlite”)
如果我得到 URL,就像这样:
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent("Retrollect.sqlite”)
然后我无法调用 NSFileManager.defaultManager().fileExistsAtPath
来确定文件是否存在。
对于 NSURL
,是否有等效于 fileExistsAtPath()
的功能来查看用户的文档目录?
没关系,"five seconds later" 个答案之一。
我可以使用 fileExistsAtPath(theURL.path)
来做到这一点。当然,首先要检查 path
是否为非零!
Swift 4 版本:
FileManager.default.fileExists(atPath: url.path)