什么是extension_access_modifier swiftlint

Cry*_*tal 4 ios swift swiftlint

我在项目中添加了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()
}
Run Code Online (Sandbox Code Playgroud)

每当有extension Foo另一堂课时,我都会在分机上收到警告.有人可以解释一下它是什么吗?谢谢.

Ale*_*ica 8

更明确地表示您的扩展是公开的,而不是其所有成员:

身高:

public extension Foo {
    func bar() { ... }
    func baz() { ... }
    func qux() { ... }
}
Run Code Online (Sandbox Code Playgroud)

过度

extension Foo {
    public func bar() { ... }
    public func baz() { ... }
    public func qux() { ... }
}
Run Code Online (Sandbox Code Playgroud)