为什么FrameWork中的类必须是公共的?

时间:2014-11-27 09:15:01

标签: ios swift frameworks

我使用swift创建一个框架,然后创建一个测试项目来检查框架是否顺利。

该框架有两个名为“pubUtils”和“utils”的类文件。

在我的测试项目中,我只能使用公共类PubUtils。我不能使用Utils类,因为它无法找到它。如果我想使用它们,PubUtils中的方法必须是公共的。我不知道这是Apple设计还是我犯错误。

1 个答案:

答案 0 :(得分:1)

即可。只有具有public访问级别的类/方法才能对外部世界可见。这是为了限制其他人使用您的内部类/方法。默认访问级别为internal,这意味着可以在同一目标/模块中访问哪些访问级别。private访问级别的可见性甚至很低。这就是swift中访问控制机制的工作方式。

在您的情况下,如果您希望其他一些源文件使用您的框架类,请将它们公之于众。每个框架都被视为单独的模块。

详细了解:Access control