Код: Выделить всё
func generateCSVText(withManagedObjects arrManagedObject: [Flashcard]) {
var CSVString = "answer, question\n"
for flashcard in arrManagedObject {
let entityContent = "\"\(flashcard.flashcardAnswer)\", \"\(flashcard.flashcardQuestion)\"\n"
CSVString.append(entityContent)
}
let tempDirectory = FileManager.default.temporaryDirectory
let fileURL = tempDirectory.appendingPathComponent("\(cardSet.cardSetName).csv")
do {
try CSVString.write(to: fileURL, atomically: true, encoding: .utf8)
DispatchQueue.main.async {
self.csvFileURL = fileURL
}
self.isShowingExportView = true
} catch {
print("Error writing CSV: \(error.localizedDescription)")
}
}
< /code>
Затем я пытаюсь импортировать его с помощью: < /p>
func importFlashcards(from fileURL: URL) {
do {
let content = try String(contentsOf: fileURL, encoding: .utf8)
let rows = content.components(separatedBy: "\n").dropFirst() // Skip header
for row in rows {
let trimmed = row.trimmingCharacters(in: .whitespacesAndNewlines)
guard !trimmed.isEmpty else { continue }
var components = trimmed.components(separatedBy: "\", \"")
if components.count == 2 {
// Remove surrounding quotes
var answer = components[0]
var question = components[1]
if answer.hasPrefix("\"") { answer.removeFirst() }
if question.hasSuffix("\"") { question.removeLast() }
dataController.newFlashcard(answer: answer, question: question)
}
}
} catch {
print("Failed to load flashcards: \(error.localizedDescription)")
}
}
< /code>
Однако, когда я выбираю файл для импорта, я получаю следующую ошибку: < /p>
Failed to load flashcards: ERR257.DFU
Подробнее здесь: https://stackoverflow.com/questions/795 ... possible-e