Swift 中方法和属性的命名约定。我可以使用 "get"、"set" 和 "is" 关键字吗?

Naming Convention for Methods and Properties in Swift. Can I use "get", "set" and "is" Keywords?

当我在Swift中创建一个函数时,我可以使用"get"和"set"两个词吗?例如,我可以将函数声明为 func getAuthorizedUsers() 而不是 func authorizedUsers() 吗?在 ObjectiveC 中,不建议在声明函数时使用 get 和 set 关键字。 Swift 怎么样?

还有,声明属性的时候可以使用"is"关键字吗?例如:

public var isAuthorized: Bool {
    get {            
        return true
    }
}

我已阅读 Swift 命名约定文档,但找不到问题的答案。谢谢。

规则都列出来了here

对于 get,这显然违反了 "Omit needless words" 规则。如果一个方法returns是什么东西,调用站点就会知道它是用来获取一些值的。你不需要重复这个想法。如果不需要参数,您可以考虑将其转换为计算 属性。

对于set,有时可能是合适的。如果你的方法只需要一个参数,并且有对应的getter,

func getFoo() -> Int {
    ...
}

func setFoo(_ foo: Int) {
    ...
}

这是一个很好的迹象,可以将其转换为计算 属性:

var foo: Int {
    get { ... }
    set { ... }
}

set 的一个很好的例子是 UIButton.setTitle 方法。它有两个参数,因此计算出的 属性 不起作用。

对于is,显然符合规则"Uses of Boolean methods and properties should read as assertions about the receiver"。所以是的,您应该将它用于布尔成员。