这个
article有助于理解Swift3中的新访问说明符。它还提供了一些不同用途的文件私有和私有的例子。
我的问题是 – 是不是使用fileprivate在一个函数,只有在这个文件中使用相同的使用私有?
fileprivate现在是以前的私有
Swift版本:可访问
相同的源文件。标记为private的声明现在只能在其声明的词法作用域内访问。
所以private比fileprivate更限制。
Swift版本:可访问
相同的源文件。标记为private的声明现在只能在其声明的词法作用域内访问。
所以private比fileprivate更限制。
示例(所有在一个源文件中):
class A { private func foo() {} fileprivate func bar() {} func baz() { foo() bar() } } extension A { func test() { foo() // error: use of unresolved identifier 'foo' bar() } } let a = A() a.foo() // error: 'foo' is inaccessible due to 'private' protection level a.bar()
>私有foo方法只能在范围内访问类A {…}定义。它甚至不能访问类型的扩展。>可以从同一个源文件访问文件专用条方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。