我正在学习 Swift,打算打开 Xcode 8 beta 中使用 Swift2 创建的项目,但是发现其中的 private
修饰符被改成了 fileprivate
。请问这个关键字的含义是什么?它和 private
有什么不同?
我正在学习 Swift,打算打开 Xcode 8 beta 中使用 Swift2 创建的项目,但是发现其中的 private
修饰符被改成了 fileprivate
。请问这个关键字的含义是什么?它和 private
有什么不同?
fileprivate
是Swift 3中的新访问修饰符之一,取代了private
的含义。fileprivate
将一个实体(类、扩展、属性等)定义为对声明它的源文件以外的所有人私有,但对该源文件中的所有实体可访问。
private
将实体限制在直接封闭的范围内。
private
旨在隐藏实现细节或保持仅限于所有者的内容不可见,而fileprivate
可用于在同一文件中共享一些公共功能。 - Jans