根据快速文档,如果将类型的访问级别定义为私有或文件私有,则其成员的默认访问级别也将为私有或文件私有] >>
我创建了一个示例代码来使用Swift 5.0分析以上语句
private class Profile { var name: String? //By default name should have private access level implicitly } private class Person { private var name: String? //name should have private access level explicitly } func gobalTestFunction() { let profile = Profile() let profileName = profile.name //This does not give any error and name is accessible here let person = Person() let personName = person.name //This gives error 'name' is inaccessible due to 'private' protection level }
预期结果:
创建profileName时,应该出现与创建personName时类似的错误
'name' is inaccessible due to 'private' protection level
实际结果:
创建personName时发生错误,但是创建profileName时未遇到错误。
根据迅速的文档,如果您将类型的访问级别定义为私有或文件私有,则其成员的默认访问级别也将是私有或文件私有,而我已经为...创建了示例代码...]
Profile
是私有课程,因此您可以访问其成员,因此可以在课程之外访问它。