【问题标题】:SwiftLint Warning: File Name Violation. How can I fix it?SwiftLint 警告:文件名违规。我该如何解决?
【发布时间】:2020-12-04 11:20:42
【问题描述】:

我正在使用 SwiftLint 来清理项目的代码格式。我遇到了文件名违规警告。我尝试了很多方法,但我无法解决它。

这些是我做的:

  1. 创建一个类 -> LoginPageViewController。
  2. 收到警告 -> 类名的长度应介于 3 到 20 个字符之间。
  3. 在任何地方都将此类的名称重构为 LoginController。
  4. 运行并收到警告:文件名违规。名字好像还是原来的。
  5. 尝试清理 build 文件夹,还是不行。
  6. 尝试删除文件并使用完全不同的名称重新创建一个新文件,但仍显示具有相同名称 LoginPageViewController 的相同警告。

文件名已经更改为 LoginController。

请帮帮我。我该如何解决?

【问题讨论】:

  • 为什么要创建这样的规则?当你想在文件名中包含类型时,20 对于文件名来说并不多,比如 viewController.更改规则而不是您的代码。

标签: swift swiftlint


【解决方案1】:

文件名仍为LoginPageViewController.swift。将其重命名为 LoginController.swift 作为类。

然后,执行Cmd + Shift + K 清理构建文件夹并重试。

【讨论】:

  • 感谢您的回答,但是文件名已经改成了LoginController.swift。
  • 尝试清理构建文件夹 Cmd + Shift + K
【解决方案2】:

更新:似乎由于重命名不成功而出现此问题。复制此文件中的所有代码并删除此文件。创建一个名为 LoginController 的新 Swift 文件并将复制的代码粘贴到其中。

避免此警告的简单解决方案是为LoginPageViewController 创建一个空声明。像这样:

enum LoginPageViewController { }

【讨论】:

  • 谢谢,但这会导致另一个警告,类型名称违规,因为类型名称的长度应在 3 到 20 个字符之间。
  • 嗨弗兰克,我试图创建一个名称完全不同的新文件,但有趣的是,同样的错误仍然会出现。
  • 您确定旧文件已从您的项目中删除了吗?
【解决方案3】:

如果出于某种原因您不想更改文件名或类名,您可以在 .swiftlint.yml 中为定义的文件停用“file_name”规则,如下所示:

file_name: 
  excluded: ["MyClass1.swift", "MyClass2.swift", "MyClass3.swift"]

【讨论】:

    猜你喜欢
    • 2019-07-21
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2021-07-01
    • 2013-04-29
    • 1970-01-01
    • 2020-11-25
    • 2020-10-24
    相关资源
    最近更新 更多