Junior — Middle
¿Cómo se puede implementar la ocultación de datos internos de un objeto para evitar su acceso directo desde fuera?
sobes.tech AI
Respuesta de la IA
Для сокрытия внутренних данных объекта в iOS (Swift или Objective-C) обычно используют модификаторы доступа. В Swift это private и fileprivate, которые ограничивают доступ к свойствам и методам внутри класса или файла.
Пример на Swift:
class User {
private var password: String
init(password: String) {
self.password = password
}
func checkPassword(_ input: String) -> Bool {
return input == password
}
}
let user = User(password: "secret")
// user.password недоступно извне
Таким образом, внутренние данные скрыты и доступны только через публичные методы класса. В Objective-C для этого используют спецификаторы @private в интерфейсе или объявляют свойства в классовых расширениях (class extensions) в .m файле, чтобы не раскрывать их в заголовочном файле.