我将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时,我都会在扩展名上收到该警告。有人可以解释一下吗?

最佳答案

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

更喜欢:

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

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

关于ios - 什么是extension_access_modifier swiftlint?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48553413/

10-12 23:21