2

以下是我的 swiftlint 日志的摘录:

MyViewController.swift:187:21:警告:空字符串违规:更喜欢检查与空字符串文字的isEmpty比较。string(empty_string)
Linting 'MyDataSource.swift' (570/578)

在上面的日志中 187:21 是什么?什么是 (570/ 578) ?

4

1 回答 1

3

您问:

187:21 是什么?什么是 (570/ 578) ?

  • “570/578”是 578 的文件 570。

  • “187:21”是第 187 行第 21 列。

你说:

[它] 看起来不像它的行数MyViewController.swift只有 90 行代码

如果您在该源文件中确实只有 90 行,包括代码、注释、空白行等,我无法核对您的数字。

如果你真的只有 90 行,也许你没有在你认为的目录上运行它。或者,即使它不是您的编译源代码的一部分,您也可能有这个文件的另一个副本徘徊在哪个 swiftlint 上。或者也许有一些后处理的文件有额外的行。但是冒号分隔的数字总是“line:column”。


顺便说一句,您可以将您的 Xcode 项目配置为在构建过程中执行 swiftlint(请参阅 的Xcode部分README.md),并且警告会直接显示在 Xcode 中,就像所有其他 Xcode 编译时警告一样,简化将警告/错误消息与代码相关联的过程。(例如点击警告,立即跳转到相关代码)。


为了说明 line:column 语法,下面是我在 Xcode 中的构建日志中的一条消息,它表明我的特定警告位于第 18 行第 17 列:

控制台日志

这是导致该警告的示例源文件,您可以在其中看到此行号和列号正是我的代码中存在问题的地方(并且因为我从 Xcode 运行了 swiftlint,它向我显示了错误我的 IDE 也是):

资源

于 2019-04-16T20:04:54.623 回答