редактирование значений в CSV-файле в проекте приводит к ошибке «индекс вне диапазона» - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь изменить программу, которая была заключена контрактом с моей компанией до того, как я пришел туда на работу. Программа использует файл .csv для хранения номеров и значений продуктов, основанных на номере продукта. Казалось, достаточно просто удалить старый файл из текущего проекта и заменить старый файл новым файлом с тем же именем. Я изменил значения в 1 записи, чтобы обновить цены. Других изменений не было.

После того, как я удалил старый файл, выделив его в проекте, выберите «Удалить», а затем нажмите «Перейти к tra sh». Я добавляю новый файл, перетаскивая его из поиска. При появлении опции «Выбрать параметры добавления этих файлов» я проверяю, установлен ли флажок «Копировать элементы», если это необходимо. Я также гарантирую, что у Добавленных папок есть кнопка выбора Создать ссылки на папки. Добавить к целям имеет имя моего проекта и проверяется. Затем я выбираю fini sh. Когда я пытаюсь запустить программу, я получаю индекс вне диапазона ошибок.

Во время отладки я обнаружил, что столбцы, загруженные из файла, выглядят так.

["DDN080120000MG35", "DDN.08.01.20000MG35", "DDN.08.01.20000 HE MG35", "MK28708-2000", "Solid Carbide Drill", "Aluminum", "Internal", "8 X D", "20", "20", "243", "190", "160", "484.00 €", "\"$\t715.60\"\r"]
["\u{1A}"]

В последней записи файла отсутствует ["\u{1A}"], показанный чуть выше. Я запустил старую программу в режиме отладки, и она не появляется, когда я устанавливаю точку останова.

Представляет ли ["\u{1A}"] маркер EOF, которого там быть не должно? Я пропускаю какие-то действия по компиляции, которые мне нужно выполнить с файлом перед его загрузкой? Я потерялся. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 29 января 2020

Проблема не с кодом. Это было с разницей между Windows и IOS системой и тем, как они обрабатывают файлы. Программа чисел в IOS прикрепляла символ в конце файла .csv, на котором уже был маркер EOF. Xcode путал исходный маркер EOF из файла Excel как запись в файле, вызывая ошибку индекса вне диапазона. Ответ состоял в том, чтобы открыть исходный файл CSV в TextEdit, внести изменения и сохранить его обратно в формате CSV. Когда я бросил его в проект, проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...