在 Swift 中的 class 之外声明私有常量

Declaring private constants outside of a class in Swift

在 Swift 中创建私有常量时,可以在 class、

中声明它们
final class SomeClass: NSObject { 

    private let someFloat:CGFloat = 12
}

以及class之外的一个。

private let someFloat:CGFloat = 12

final class SomeClass: NSObject {  }

当在 class 范围之外时,范围是创建常量的文件。使用一种方法与另一种方法有什么其他区别吗?有人对最佳实践有意见吗?

它们的访问方式不同。

第一种情况,someFloatSomeClass的范围内。它通过 SomeClass.someFloat.

访问

在第二种情况下,someFloat在模块范围内。只需 someFloat.

即可访问

第一种方法更可取。通常很难在模块名称 space 中找到标识符,因为它们很容易被标准库或 foundation/cocoa 框架中的所有标识符淹没。