Swift5中fileprivate与private的区别是什么-创新互联

这篇文章主要介绍“Swift5中fileprivate与private的区别是什么”,在日常操作中,相信很多人在Swift5中fileprivate与private的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Swift5中fileprivate与private的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联公司,为您提供重庆网站建设公司网站制作、网站营销推广、网站开发设计,对服务成都边坡防护网等多个行业拥有丰富的网站建设及推广经验。创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

前言

Fileprivate和private是Swift中访问控制修饰符的一部分。这些关键字与internal,public和open一起,使得可以限制访问其他源文件和模块中的代码。

private访问级别是最低和最严格的级别,而open访问是高和最少限制的。 Swift的文档将详细解释所有访问级别,但在这篇文章中,我将解释两个亲密朋友之间的差异:fileprivate和private。

open访问是高(限制性最小)的访问级别,private访问是最低(限制性最强)的访问级别。这将提高可读性,并使其他人更容易使用和理解您的代码。

什么时候使用fileprivate

尽管关键字几乎相同,但其用例存在明显差异。 Fileprivate访问限制在同一定义的源文件中使用实体。使用fileprivate的原因是,您想要在当前文件中不同的类或结构中,访问当前文件中的代码。这些类,结构都在一个文件中。在下面的示例中,我们有一个ImageProvider和一个ImageViewController。我们可以使用fileprivate,如果它们在同一个文件中定义,并且我们希望允许在ImageProvider中访问imageView。

但是,如果我们要为ImageProvider结构创建一个单独的文件,我们会得到一个编译器错误:

由于fileprivate导致imageView无法访问

在我看来,它的使用场景不大。好的项目结构中,通常把实体定义在对应的文件中。

什么时候使用private

private关键字用得更多,并限制实体对封闭声明及其扩展的使用。但是,扩展必须在同一文件中定义。换句话说,私有声明在文件外部不可见。您可以使用此关键字仅显示与实体交互所需的最少代码。这将提高可读性,并使其他人更容易使用和理解您的代码。

Fileprivate vs private

好通过image provider示例来解释差异。这两个访问权限关键词在同一文件中声明,它们将导致以下编译器错误:

private不能在class以外访问,fileprivate作用域是当前文件

到此,关于“Swift5中fileprivate与private的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文题目:Swift5中fileprivate与private的区别是什么-创新互联
分享地址:http://scyanting.com/article/dgescs.html