private vs. fileprivate on declaring global variables/consts in Swift3?

醉酒当歌 提交于 2019-12-28 18:43:20

问题


Should I use private or fileprivate to declare global variables/consts in Swift 3? e.g.

fileprivate let a = 1
fileprivate class SomeClass {
    fileprivate b = 0
}

Or

private let a = 1
private class someClass {
    fileprivate b = 0
}

回答1:


It really makes no difference at file level, whether you use private of fileprivate, access control will be the same, for example constants defined this way will be only usable in that file.

Same can be said for other modifiers, in certain cases, internal and private become the same, eg. same single file module.

For all intents and purposes in this case you should use fileprivate, because it more clearly states the intent -> you want to use this in whole file.

It is quite reasonable to expect in future versions of swift (there are some proposed changes in swift 4), that there will indeed be change in these modifiers, and fileprivate and private will have different scope in this case.



来源:https://stackoverflow.com/questions/39739813/private-vs-fileprivate-on-declaring-global-variables-consts-in-swift3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!