46
我从swift开始,使用xcode 8 beta中的swift2创建项目,将private
修改器更改为fileprivate
。这个关键字的含义是什么?和private
有什么不同?'fileprivate'关键字在Swift中意味着什么?
我从swift开始,使用xcode 8 beta中的swift2创建项目,将private
修改器更改为fileprivate
。这个关键字的含义是什么?和private
有什么不同?'fileprivate'关键字在Swift中意味着什么?
fileprivate
是新的Swift 3访问修饰符之一,其含义取代private
。 fileprivate
定义了一个实体(类,扩展,属性,...)作为它声明的源文件之外的所有人的私有,但可以被该源文件中的所有实体访问。
private
限制直接封闭范围内的实体。
你是什么意思的“直接封闭范围”?我什么时候只用'private'而不是'fileprivate'? –
封闭范围是在这个扩展中的块或文件集合,其中声明了一个实体,“private”意味着隐藏实现细节或隐藏限制于所有者的东西,而'fileprivate'可用于共享一些在同一文件中的所有实体之间的通用功能。 – xhamr
在swift 3.0中,swift <3.0'private'作品像'fileprivate'。如果你快速申报2.3两个具有私有变量的类,但在同一个文件中,它们仍然可以访问每个“私有”标记变量。 – Robert