私有变量可以从类外部访问

这是在操场上做的,只是为了简化

类MyPrivateVar
{
private-var-priv:String?
}
var myInstance=MyPrivateVar()
myInstance.priv=“某物”

没有编译器警告。事实上,自动完成显示的是priv,没有问题。
我的理解是,在类的{}边界之外,我不应该看到私有的任何东西,funcvar

我错过什么了吗

Swift中的访问修饰符的实现方式与其他语言不同。有三个层次:

private:只能在该特定文件中访问

内部:仅可在模块(项目)内访问

public:可从任何地方访问

除非另有标记,否则默认情况下,您编写的所有内容都是内部的

当这些功能在beta 4中引入时,Swift博客上有一篇关于访问控制的文章,苹果的文档中也有一章

发表评论