Назад к вопросам
Junior — Middle
75
Каким образом можно реализовать сокрытие внутренних данных объекта для предотвращения их прямого доступа извне?
Компании, где спрашивали
Itexus
Ответ от нейросети
sobes.tech AI
Для сокрытия внутренних данных объекта в 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 файле, чтобы не раскрывать их в заголовочном файле.