Я пытаюсь сохранить массив в каталог документов, но функция сохранения не работает. Я могу сказать это, потому что он возвращает значение 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
Вам нужно указать имя файла
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = dir.appendingPathComponent("file.txt")
// write to fileURL
всем привет! ваш docURL — это путь к каталогу. Вам необходимо добавить компоненты пути, такие как имя файла и расширение файла. Однако. Я думаю, было бы лучше, если бы вы сохранили его из метода данных.
d.write(to: URL(fileURLWithPath: filePath))
где d — ваш массив, представленный в виде данных.