以下是我的swiftlint日志的摘录:
MyViewController.swift:187:21:警告:违反空字符串:相对于将
isEmpty
与空字符串文字进行比较,更喜欢检查string
。 (空字符串)
整理'MyDataSource.swift'(570/578)
在上面的日志中,187:21是什么? 什么是(570/578)?
答案 0 :(得分:3)
您问:
什么是187:21?什么是(570/578)?
“ 570/578”是578的文件570。
“ 187:21”是第187行第21列。
您说:
[it]的行数不像
MyViewController.swift
只有90行代码
如果您的源文件中实际上只有90行,包括代码,注释,空行等,我将无法调和您的电话号码。
如果实际上只有90行,则可能不是在您认为的目录上运行此行。或者,也许您还有这个文件的另一个副本,尽管它不是您的编译源的一部分,但仍缠着哪个swiftlint。也许有一些带有附加行的后处理文件。但是冒号分隔的数字始终是“ line:column”。
顺便说一句,您可以配置Xcode项目在构建过程中执行swiftlint(请参阅README.md
的{{3}}部分),并在Xcode中显示警告,就像它一样对所有其他Xcode编译时警告执行此操作,从而简化了将警告/错误消息与自己的代码相关联的过程。 (例如,点击警告,立即跳转至相关代码)。
为了说明line:column语法,这是我在Xcode中的构建日志中的一条消息,表明我的特定警告位于第18行的第17列:
这是导致该警告的示例源文件,在其中您可以看到此行号和列号正是问题出在我的代码中(并且由于我从Xcode运行swiftlint,它向我显示了错误也在我的IDE中):