0

我正在尝试将数组保存到 Application Support 文件夹中的文件中。这是我正在使用的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    let fileManager = NSFileManager()

    var suppUrl = try! fileManager.URLForDirectory(NSSearchPathDirectory.ApplicationSupportDirectory, inDomain: NSSearchPathDomainMask.UserDomainMask, appropriateForURL: nil, create: true)
    suppUrl = suppUrl.URLByAppendingPathComponent("test")

    try! fileManager.createDirectoryAtURL(suppUrl, withIntermediateDirectories: true, attributes: nil)
    print(suppUrl.path)


    let arrayToSave: [String] = ["1", "2", "3", "4", "5"]
    let success = NSArray(array: arrayToSave).writeToURL(suppUrl, atomically: true)
    print("did succeed?:  \(success)")

}

调试器抛出:

可选(“/Users/myName/Library/Developer/CoreSimulator/Devices/D573BBEC-D180-4A8A-93FE-BE04E2BBE6C8/data/Containers/Data/Application/911362BF-13C2-49AB-817B-49F2926194A1/Library/Application Support/test ")

成功了吗?: 错误的

为什么是假的?

编辑:缩短版本,仍然没有运气:

let fileManager = NSFileManager()
        var suppUrl = try! fileManager.URLForDirectory(NSSearchPathDirectory.ApplicationSupportDirectory, inDomain: NSSearchPathDomainMask.UserDomainMask, appropriateForURL: nil, create: true)

        let arrayToSave: [String] = ["1", "2", "3", "4", "5"]
        let success = NSArray(array: arrayToSave).writeToURL(suppUrl.URLByAppendingPathComponent("test.plist"), atomically: true)
4

1 回答 1

0

您必须指定一个文件名,此时您正试图“保存”失败的目录。

let success = NSArray(array: arrayToSave).writeToURL(suppUrl.URLByAppendingPathComponent("test.plist"), atomically: true)
于 2015-09-13T14:16:29.303 回答