У меня есть два одинаковых файла level1.txt и lvl2.txt. Оба UTF-8 и межстрочный интервал MacOS/Unixtxt файлы с невидимыми разрывами строк
ㅏ: ah
ㅓ: eo/uh
ㅡ: eu
ㅣ: i
ㅗ: o/oh
Я читаю их и помещая их в объекты карты. Однако первый файл работает и второй обнаруживает дополнительный разрыв строки, который создает пустой элемент массива и дает мне фатальный индекс ошибки вне диапазона, потому что не существует первого и второго элементов пустой строки.
Я пробовал воссоздать level2.txt, создав новый файл как в редакторе xcode, так и в textEditor и скопировав/введя код из рабочего текстового файла, но он все еще обнаруживает разрыв строки, которого там нет. Может кто-нибудь объяснить, почему это происходит, или лучший способ создания текстовых файлов, которые будут использоваться в проектах xcode, которые не оставят невидимое форматирование. Спасибо.
if let levelFilePath = Bundle.main.path(forResource: "level\(indexPath.row + 1)", ofType: "txt") {
if let levelContents = try? String(contentsOfFile: levelFilePath) {
print(levelContents)
//Split Q and A's by linebreak
let lines = levelContents.components(separatedBy: "\n")
for line in lines{
//Splits each line into answer and clue
let parts = line.components(separatedBy: ":")
let card = Card(question: parts[0], answer: parts[1])
currentDeck.append(card)
}
Спасибо, Джим. Я уверен, что буду использовать это позже в своем проекте. –