使用 Swift 创建一个文件夹

Create a folder with Swift

我正在尝试在 Swift 中使用 NSFileManager 的方法 createDirectoryAtPath:withIntermediateDirectories:attributes:error:

问题是我不知道这个函数是什么throws以防出错。这是否记录在任何地方?如果是,在哪里?

当 Swift 文档说一个函数 throws 时,他们的意思是它抛出一个 NSError.

考虑以下 do-try-catch 流程:

let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]

do {
    try NSFileManager.defaultManager().createDirectoryAtPath(documentsPath, withIntermediateDirectories: false, attributes: nil)
} catch {
    print(error)
    print(error.dynamicType)
}

createDirectoryAtPath 将失败,因为文档目录已经存在。记录 errordynamicType 表明它实际上是一个 NSError 对象:

Error Domain=NSCocoaErrorDomain Code=516 "The file “Documents” couldn’t be saved in the folder “35B0B3BF-D502-4BA0-A991-D07568AB87C6” because a file with the same name already exists." UserInfo={NSFilePath=/Users/jal/Library/Developer/CoreSimulator/Devices/E8A35774-C9B7-42F0-93F1-8103FBBC7118/data/Containers/Data/Application/35B0B3BF-D502-4BA0-A991-D07568AB87C6/Documents, NSUnderlyingError=0x7fa88bd14410 {Error Domain=NSPOSIXErrorDomain Code=17 "File exists"}}

NSError