以下是我的 swiftlint 日志的摘录:
MyViewController.swift:187:21:警告:空字符串违规:更喜欢检查与空字符串文字的
isEmpty
比较。string
(empty_string)
Linting 'MyDataSource.swift' (570/578)
在上面的日志中 187:21 是什么?什么是 (570/ 578) ?
您问:
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 也是):