#swift #xcode
Вопрос:
У меня возникли проблемы с Xcode и определением источника ошибки. Он помечает ошибку, но больше не определяет конкретную строку кода, в которой возникает проблема. Раньше так было, но теперь этого не происходит. Приведен пример.
Как новичку, мне было бы чрезвычайно полезно понять строку кода, которая является источником проблемы. Эта функция была доступна ранее, но она больше не для меня. Это похоже на простую проблему с настройками, но я не могу ее решить. Любые идеи будут оценены по достоинству. Я использую Xcode 13, Swift 5; macOS — Big Sur 11.6 (обратите внимание, что эта проблема продолжается-я только что достиг своего уровня разочарования сегодня вечером).
Комментарии:
1. Я не думаю, что это проблема с настройками. Я бы попробовал удалить все производные данные и перезапустить Xcode. Если это не сработает, я бы сократил ваш файл до минимума (чтобы вы знали , что ошибок нет), а затем добавил код обратно, пока компилятор снова не выдаст ошибку. Вероятно , это просто компилятор Swift перегружен чем-то, что он не знает, как правильно анализировать или понимать.
2. Аналогично, просто чтобы сузить проблему до проблемы в вашем основном проекте, вы можете начать с пустого проекта и добавить строку, не являющуюся компиляцией, чтобы проверить, правильно ли она ее выделяет-я подозреваю, что это произойдет с достаточно простым проектом.
3. 1/ Как бы то ни было, Xcode 13.1 начал выдавать некоторые неоднозначные ошибки, похожие, но не совсем такие. (Я думаю, что именно так он использует Swift 5.5 и будет исправлен.) Однако у меня никогда не было проблем с ошибками сборки с Xcode 13.0. Мой лучший совет — если вы можете себе это позволить — это форма «экономьте рано, экономьте часто»…. стройте часто, после внесения одного изменения, будь то одна строка или 10 строк. Вот как я справляюсь с этим. В сочетании с использованием системы управления версиями вы можете в значительной степени сузить круг проблем.
4. 2/ Немного истории в обратном направлении. В 2018 году Apple представила SwiftUI. Это было хуже, чем твоя проблема! Это указывало бы на строку кода — во много раз неправильную. Это также дало бы явное описание ошибки — во много раз неправильное. Надеюсь, с тех пор это улучшилось. В 2014 году Apple представила язык Swift, который с тех пор стал открытым исходным кодом. Это было почти — но ИМХО не — так «грубо по краям», как SwiftUI. У @jnpdx есть несколько хороших идей, как и в моем первом комментарии. Иногда меня задевает, что я «делаю слишком много» в промежутках между сборками и коммитами. Удачи!
5. И, пожалуйста, не делайте особых просьб в своем вопросе. Если вы думаете, что кто-то вас беспокоит, отметьте модератора.