В соответствии с документацией swift, Если вы определяете уровень доступа типа как частный или как частный файл, уровень доступа его членов по умолчанию также будет частным или частным
Я создал пример кода для анализа приведенного выше утверждения с использованием 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 ошибки не обнаружено.