Наблюдатели свойств в Swift: willSet и didSet
Наблюдали свойств — очень важная вещь в разработке программ под iOS. Их очень часто применяют на практике, поэтому советую хорошо разобраться в этом вопросе. Я приведу примеры установки свойств, с минимумом комментариев, однако, если потребуется дополнительное пояснение — я с удовольствием это сделаю. Пишите в комментариях свои вопросы.
Итак мы можем отслеживать любые изменения значений свойств при помощи наблюдателей willSet{} и didSet {}.
// // proSwift.ru // var someStoredProperty: String = "Type you text here"{ willSet {newValue - имя переменной, которую Swift создал для нас, в которой хранится значение, которое будет установлено} didSet {oldValue - имя переменной, которую Swift создал для нас, в которой хранится значение, которое было установлено до замены} }
Наблюдатели свойств willSet и didSet вызываются тогда, когда кто-то устанавливает это свойство. Наблюдатель willSet вызывается непосредственно перед тем, как свойство будет установлено, и внутри наблюдателя можно использовать специальную переменную с именем newValue. Наблюдатель didSet вызывается сразу после получения свойством значения, и внутри можно использовать специальную переменную с именем oldValue.
Наблюдатели также могут быть установлены и на наследуемые свойства. В этом случае выполняются все наблюдатели: и унаследованного свойства и у свойства super-класса. Это очень удобно в случае, если вы не хотите менять свойств super-класса напрямую, но хотите знать когда они меняются.
// // proSwift.ru // override var inheritedProperty { willSet {newValue - имя переменной, которую Swift создал для нас, в которой хранится значение, которое будет установлено} didSet {oldValue - имя переменной, которую Swift создал для нас, в которой хранится значение, которое было установлено до замены} }
Наиболее частое использование наблюдателей — это адаптирование пользовательского интерфейса, при изменении каких либо параметров.
Спасибо! Очень необходимый материал