在 Swift 中,public, fileprivate, 和 set 是访问控制关键字。它们用于限制代码的访问级别。
- public:这是一个访问级别,表示该项可以在其定义模块的任何源文件中以及其他导入该模块的模块中访问。
- fileprivate:这是一个访问级别,表示该项只能在其定义的源文件中访问。
- set:这是一个属性访问器,用于设置属性的值。
当你看到 public fileprivate(set) 时,这意味着这个属性是公开的(可以在任何地方访问),但是它的 setter 是文件私有的(只能在定义它的文件中设置)。
例如:
public class MyClass {
public fileprivate(set) var myProperty: Int = 0
}
在这个例子中,myProperty 可以在任何地方访问,但只能在 MyClass 所在的文件中修改。