Swift访问控制

访问控制一共五种开放程度,由高到低分别是:

open :允许在定义实体的模块(module),其它模块中访问、继承、重写(只能用在类或其成员上);例如:系统提供的UIKit库中的 UIView,UICollectionViewCell等,还有需要继承使用的pod库

public :允许在定义实体的模块,其它模块中访问,只有使用权限;****例如:****系统提供的基本类型 Int, Double,String等,SnapKit自动布局库

internal :只允许在定义实体的模块访问,不允许**其它模块中访问,不写默认为此权限

fileprivate :**只****允许在定义实体的源文件中访问

private :**只******允许在定义实体的封闭声明中访问(一般即是大括号内{})

总结:

  • 需要让其它模块使用的实体就用 open,**public **定义,如果不想被继承则使用 **public **定义;
  • 一般自定义的pod基础组件都需要用open修饰;
  • 一般自定义的pod功能组件都需要用public修饰;

名词解释:

模块:module,默认一个target就是一个模块;模块中可访问的代码(>=internal),不需要导入头文件(import)即可互相访问;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 访问控制可以限定其它源文件或模块中的代码对你的代码的访问级别。 这个特性可以让我们隐藏代码的一些实现细节,并且可以...
    DevXue阅读 1,306评论 0 0
  • 访问控制 访问控制可以限定其它源文件或模块对你的代码的访问。这个特性可以让你隐藏代码的实现细节,并且能提供一个接口...
    xiaofu666阅读 3,538评论 0 0
  • 中文文档 一、模块和源文件 Swift 中的访问控制模型基于模块和源文件这两个概念。 模块指的是独立的代码单元,框...
    伯wen阅读 2,540评论 0 0
  • 访问控制 访问控制:用来控制代码是否需要暴露给调用方的一种设置,比如可以隐藏一些代码的实现细节等等 可以为类、结构...
    皆为序幕_阅读 5,274评论 0 0
  • 使用场景:限制其他源文件和模块对代码的访问权限。封装隐藏代码的实现细节,只公开接口给人调用 适用范围:给单个类型(...
    Sunday_David阅读 3,730评论 1 0

友情链接更多精彩内容