在同一个文件中成功访问私有属性但在swift中无法使用私有内部类

时间:2015-12-17 03:23:20

标签: swift access-control

这是我的代码:

TestPrivate.x

swift 2.0的指南说:

  

“私有访问将实体的使用限制在其自己的定义源文件中。使用私有访问来隐藏特定功能的实现细节。“

现在我在一个文件中写下了所有这些代码。

TestInternal.foo应该可以看到

SELECT City, SUM(IF(MONTH(DateColumn) = 1, AmountColumn, 0)) AS JanuaryTotal, SUM(IF(MONTH(DateColumn) = 2, AmountColumn, 0)) AS FebruaryTotal, . . . SUM(IF(MONTH(DateColumn) = 12, AmountColumn, 0)) AS DecemberTotal FROM YourTable WHERE YEAR(DateColumn) = 2015 GROUP BY City 。现在可以了。

但有线的事情是当我尝试使用私有内部类来创建一个失败编译的实例时!这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

这不是错误。

private let z = TestPublic.TestInternal.TestPrivate() 

这会使它编译。<​​/ p>

没有private指示符z可以将私有类暴露给其他文件,因为其访问控制默认为internal

这就是快速控制访问的严格程度。