swift 权限控制学习

2016-04-19  本文已影响65人  夜殇丶夜逝

访问控制可以限定你在源文件或者模块中访问代码的级别。

注意:
为方便起见,在代码中可以设置访问级别的它们(属性、基本类型、函数等)在下面的章节中我们称之为实体。

模块和源文件

swift中的访问控制模型基于模块和源文件这两个概念。
模块指的是:framework或者app bundle。
源文件指的是:swift中的swift file,就是编写swift代码的文件, 它通常属于一个模块。通常一个源文件中包含一个类,在类中包含函数、属性等实体。

访问级别

在swift中,访问级别头如下使用原则:访问的统一性。例如:

默认访问级别

代码中所有的实体, 如果不明确的定义其访问级别, 那么它默认为internal级别。在大多数情况下,我们不需要明确的设置实体的访问级别, 因为我们大多数时候都是在开发一个app bundle。

单目标应用程序的访问级别

当你在编写一个单目标应用程序时, 该应用程序的所有功能都是为该应用服务的, 不需要提供给其他应用或者模块使用, 所以我们不用明确的设置访问级别, 使用默认的访问级别internal即可。 但是如果你愿意, 你也可以使用private级别,隐藏一些功能实现的细节。

framework的访问级别

当你在开发framework时,就需要吧一些实体定义为public级别, 以便其他导入该framework后可以正常使用其功能。这些被你定义为public的实体,就是这个framework的api。

上一篇 下一篇

猜你喜欢

热点阅读