Sobes.tech
Назад к вопросам
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 файле, чтобы не раскрывать их в заголовочном файле.