私有与fileprivate在Swift3中声明全局变量/ consts?

时间:2016-09-28 06:41:15

标签: ios swift global-variables swift3

我应该使用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
}

1 个答案:

答案 0 :(得分:3)

在文件级别确实没有区别,无论你使用private fileprivate,访问控制都是一样的,例如以这种方式定义的常量只能在该文件中使用。

对于其他修饰语也是如此,在某些情况下,内部和私有变得相同,例如。相同的单个文件模块。

对于这种情况下的所有意图和目的,您应该使用fileprivate,因为它更清楚地说明了意图 - >你想在整个文件中使用它。

在swift的未来版本中预期(在swift 4中有一些建议的更改)是非常合理的,这些修饰符确实会有变化,fileprivateprivate会有所不同在这种情况下的范围。

相关问题