美文网首页
swift 权限控制学习

swift 权限控制学习

作者: 夜殇丶夜逝 | 来源:发表于2016-04-19 12:14 被阅读65次

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

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

模块和源文件

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

访问级别

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

  • 一个public访问级别的变量,不能将它的类型定义为internal和private的类型。 因为变量可以被任何人访问, 但是定义它的类型不可以,所以这样会出错。
  • 函数的访问级别不能高于它的参数、返回类型的访问级别。 因为如果函数定义为public而参数或者返回值类型定义为internal或者private, 就会出现函数可以被任何人访问,但是它的参数或者返回类型不可以。

默认访问级别

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

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

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

framework的访问级别

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

相关文章

  • swift 权限控制学习

    访问控制可以限定你在源文件或者模块中访问代码的级别。 注意:为方便起见,在代码中可以设置访问级别的它们(属性、基本...

  • iOS 属性修饰词和权限控制词

    Swift 权限控制词 概述 swift3.0中,新增了fileprivate和open权限。swift4.0中,...

  • Swift tips - 权限控制

    Swift 权限控制 在Swift语言中,最早是没有相关的对象权限控制的,这也是被人诟病的一个原因。而现在Swif...

  • Swift访问控制(Open、Public、Internal、F

    其中 fileprivate 和 open 是 Swift 3 新添加的。由于过去 Swift 对于访问权限的控制...

  • 密码输入页面的实现-模仿支付宝

    github代码库地址 涉及知识点总结: swift类的继承 swift中权限控制 swift中的懒加载 swif...

  • Swift 访问控制 ⑭

    1. 访问控制权限 在访问权限控制这块,Swift提供了5个不同的访问控制级别(以下是从高到低排列,实体指被访问级...

  • Swift2.0迁移到3.0情况记录

    fileprivate替换private: fileprivate是swift新增加的访问控制权限。private...

  • iOS-Swift-访问控制

    1. 访问控制(Access Control) 在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高...

  • [Swift5.1] 19-访问控制

    访问控制(Access Control) 在访问权限控制这块,Swift提供了5个不同的访问级别:(以下是从高到低...

  • 十六、访问控制

    访问控制 访问控制 在访问权限控制这块,Swift提供了5个不同的访问级别(以下从高到低排列) open:允许在定...

网友评论

      本文标题:swift 权限控制学习

      本文链接:https://www.haomeiwen.com/subject/vaaalttx.html