10

我将 Swiftlint 添加到一个项目中,但我无法理解警告的含义extension_access_modifier。我主要在一个声明为 public 的类上看到它,但是在整个代码库中散布着一些扩展来添加功能。

public class Foo {

}

// In SomeOtherClass.swift
extension Foo { // Extension Access Modifier Violation: Prefer to use extension access modifiers
    public func baz()
}

每当有extension Foo另一个班级时,我都会在扩展名上收到警告。有人会解释它是什么吗?

4

1 回答 1

18

更清楚地表示您的扩展是公共的,而不是它的所有成员:

更喜欢:

public extension Foo {
    func bar() { ... }
    func baz() { ... }
    func qux() { ... }
}

超过

extension Foo {
    public func bar() { ... }
    public func baz() { ... }
    public func qux() { ... }
}
于 2018-02-01T00:29:12.937 回答