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()