我应该使用private或filepprivate来声明Swift 3中的全局变量/常量吗?例如
fileprivate let a = 1
fileprivate class SomeClass {
fileprivate b = 0
}
或
private let a = 1
private class someClass {
fileprivate b = 0
}
这在文件级别上确实没有区别,无论您使用private
还是fileprivate
,访问控制都是相同的,例如以这种方式定义的常量将仅在该文件中可用。
其他修饰语也可以这样说,在某些情况下,internal和private变得相同,例如。相同的单文件模块
对于所有的意图和目的,在这种情况下,你应该使用fileprivate
,因为它更清楚地说明意图->你想在整个文件中使用它。
在swift的未来版本中(在swift 4中有一些提议的变化),这些修饰符确实会有变化,fileprivate
和private
在这种情况下会有不同的作用域,这是非常合理的。