У меня есть функция, в которой я хочу создать файл CSV, если он не существует, и добавить в него данные. Если он существует, я хочу добавлять эти данные как новую строку каждый раз, когда она вызывается.
Вот мой текущий код, на данный момент он просто перезаписывает весь файл каждый раз:
func writeTrackedSymptomValues(symptom: String, comment: String, time: String, timestamp: String) {
symptomData = SymptomData()
for _ in 0..<5 {
symptomData.symptom = symptom
symptomData.severity = self.severity
symptomData.comment = comment
symptomData.timestamp = timestamp
symptom_data.append(symptomData!)
}
creatCSV()
}
func creatCSV() -> Void {
let fileName = "symptom_data.csv"
let path = self.getDocumentsDirectory().appendingPathComponent(fileName)
var csvText = "Symptom,Severity,Comment,Time\n"
let newLine = "\(symptomData.symptom),\(symptomData.severity),\(symptomData.comment),\(symptomData.timestamp)\n"
csvText.append(newLine)
do {
try csvText.write(to: path, atomically: true, encoding: String.Encoding.utf8)
} catch {
print("Failed to create file")
print("\(error)")
}
print(path ?? "not found")
}
func getDocumentsDirectory() -> URL {
// find all possible documents directories for this user
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
// just send back the first one, which ought to be the only one
return paths[0]
}
Как я могу каждый раз добавлять новую строку вместо этого? Swift