我应该使用private或fileprivate在Swift 3中声明全局变量/ consts吗? e.g。
fileprivate let a = 1
fileprivate class SomeClass {
fileprivate b = 0
}
或
private let a = 1
private class someClass {
fileprivate b = 0
}
答案 0 :(得分:3)
在文件级别确实没有区别,无论你使用private
fileprivate
,访问控制都是一样的,例如以这种方式定义的常量只能在该文件中使用。
对于其他修饰语也是如此,在某些情况下,内部和私有变得相同,例如。相同的单个文件模块。
对于这种情况下的所有意图和目的,您应该使用fileprivate
,因为它更清楚地说明了意图 - >你想在整个文件中使用它。
在swift的未来版本中预期(在swift 4中有一些建议的更改)是非常合理的,这些修饰符确实会有变化,fileprivate
和private
会有所不同在这种情况下的范围。