swiftlint:disable:next 和 swiftlint:disable:this 有什么区别?

What's the difference between swiftlint:disable:next and swiftlint:disable:this?

我对以下的区别有点困惑:

swiftlint:disable:next
swiftlint:disable:this

它们都用于禁用单行的swift规则。您还可以 启用 单行规则。来自 SwiftLint GitHub:

也可以通过附加 :previous:this:next 来修改 disableenable 命令,以便仅将命令应用于前一个命令, 此(当前)或下一行分别。

例如:

// swiftlint:disable:next force_cast
let noWarning = NSNumber() as! Int
let hasWarning = NSNumber() as! Int
let noWarning2 = NSNumber() as! Int // swiftlint:disable:this force_cast
let noWarning3 = NSNumber() as! Int
// swiftlint:disable:previous force_cast

您也可以只禁用整个文件的规则。

// swiftlint:disable force_cast

The rules will be disabled until the end of the file or until the linter sees a matching enable comment:

所以整个文件或直到它看到 // swiftlint:enable force_cast

或者禁用每条规则

// swiftlint:disable:all