Трудно понять Журнал ошибок / предупреждений SwiftLint - PullRequest
2 голосов
/ 16 апреля 2019

Вот выдержка из моих журналов swiftlint:

MyViewController.swift: 187: 21: предупреждение: пустое нарушение строки: предпочтительнее проверять isEmpty, чем сравнивать string с пустым строковым литералом. (empty_string)
Подпись 'MyDataSource.swift' (570/578)

В журналах выше, что такое 187: 21? а что такое (570/578)?

1 Ответ

3 голосов
/ 16 апреля 2019

Вы спросили:

что такое 187: 21?и что такое (570/578)?

  • «570/578» - это файл 570 из 578.

  • «187: 21 ”- это строка 187, столбец 21.

Вы говорите:

[это] не похоже на количество строк как MyViewController.swift имея всего 90 строк кода

Я не могу согласовать ваши цифры, если у вас действительно есть только 90 строк в этом исходном файле, включая код, комментарии, пустые строки и т. д.

Если у вас действительно только 90 строк, возможно, вы не запускаете это в каталоге, который вам кажется.Или, может быть, у вас есть еще одна копия этого файла, в которой хранится swiftlint, хотя она не является частью ваших исходных текстов для компиляции.Или, может быть, есть какой-то постобработанный файл с дополнительными строками.Но числа, разделенные двоеточиями, всегда являются «строка: столбец».


Кстати, вы можете настроить свой проект XCode для выполнения swiftlint во время процесса сборки (см. Раздел Xcode README.md), и предупреждение отображается справав XCode, как и для всех других предупреждений во время компиляции XCode, упрощая этот процесс корреляции предупреждений / сообщений об ошибках с одним кодом.(например, нажмите на предупреждение, сразу перейдите к соответствующему коду).


И чтобы проиллюстрировать синтаксис строки: столбца, вот сообщение из моего журнала сборки в Xcode, которое указывает, что мое особое предупреждение включенострока 18, столбец 17:

console log

А вот мой пример исходного файла, который привел к этому предупреждению, в котором вы можете видеть, что этот номер строки иНомер столбца именно там, где проблема лежит в моем коде (и поскольку я запустил swiftlint из Xcode, он также показывает ошибку прямо в моей IDE):

source

...