这是在Playground中完成的,只是为了简化。
class MyPrivateVar { private var priv: String? } var myInstance = MyPrivateVar() myInstance.priv = "Something"
没有编译器警告。实际上,自动完成显示priv没有问题。我的理解是,在类{}的边界之外,我不应该看到私有的东西,func也不可以var。
priv
func
var
我想念什么吗?
Swift中的访问修饰符与其他语言的实现方式不同。分为三个级别:
private:仅在 该特定文件 内可访问 __
private
internal:仅在模块(项目)中可访问
internal
public:可从任何地方访问
public
除非另有标记,否则您编写的所有内容均为internal默认设置。
在斯威夫特博客有一个关于访问控制后,当功能处于beta 4中引入和苹果的文档中有一章为好。