在Swift中声明一个类之外的私有常量

bmj*_*hns 6 constants code-standards swift

在Swift中创建私有常量时,可以在类中声明它们,

final class SomeClass: NSObject { 

    private let someFloat:CGFloat = 12
}
Run Code Online (Sandbox Code Playgroud)

以及课外.

private let someFloat:CGFloat = 12

final class SomeClass: NSObject {  }
Run Code Online (Sandbox Code Playgroud)

当在类之外时,范围是创建常量的文件.使用一种方法与另一种方法之间是否有任何其他差异,是否有人对最佳实践有意见?

Ale*_*ica 1

它们的访问方式不同。

在第一种情况下,someFloat是在 的范围内SomeClass。它是通过 访问的SomeClass.someFloat

在第二种情况下,someFloat是在模块范围内。只需使用 即可访问它someFloat

第一种方法是优选的。通常很难在模块名称空间中找到标识符,因为它们很容易被标准库或基础/可可框架中的所有标识符淹没。