Junior — Middle
Comment peut-on implémenter la dissimulation des données internes d'un objet pour empêcher leur accès direct depuis l'extérieur?
sobes.tech IA
Réponse de l'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 файле, чтобы не раскрывать их в заголовочном файле.