首页 > 解决方案 > 在 Swift 中保存数组

问题描述

我正在尝试将数组保存到文档目录,但保存功能失败。我可以告诉这一点,因为它返回一个 false 值,当我尝试读回数组时,我得到了 nil。

我在下面包含了一些代码,我用一些不同的调试语句编写了这个代码,只是试图让它工作,如果 ic 看起来有点奇怪,很抱歉。

@IBAction func Save(_ sender: Any) {

    var values = [jpyTextField.text,eurTextField.text]
    var answer: Bool

    let manager = FileManager.default
    let documents = manager.urls(for: .documentDirectory, in: .userDomainMask)
    let docURL = documents.first

    answer = (values as NSArray).write(to:docURL! , atomically: true)

    let readData = NSMutableArray (contentsOf: docURL!)

    print (docURL)
    print (readData?[0])
    print (answer)
}

这是我回来的

file:///Users/kka/Library/Developer/CoreSimulator/Devices/82C6DEF6-20D0-4BB0-875A-C80D4AE9A4BD/data/Containers/Data/Application/F54CBC83-6756-466F-8701-E728F5C6DBF1/Documents/
nil
false

标签: iosswift

解决方案


您需要指定文件名

let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! 
let fileURL = dir.appendingPathComponent("file.txt")
// write to fileURL 

推荐阅读