Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Adding property observers Добавление наблюдателей собственности

Adding initializers to a class | Adding initializers to a class Добавление инициализаторами к классу | Using inheritance | Using inheritance Использование наследования | Creating computed properties | Using inheritance Создание вычисляемых свойств | Using type properties and methods | Using type properties and methods Используя свойства и методы типа | Defining lazy properties | Defining lazy properties Определение ленивых свойства |


Читайте также:
  1. Adding a New Controller
  2. Adding a Pump to the Diagram
  3. Adding initializers to a class
  4. Adding initializers to a class Добавление инициализаторами к классу
  5. Adding property observers
  6. I. Property and social-economic system of society

 

- Swift есть отличный способ, чтобы следить за изменениями в состоянии наших объектов, добавляя что-то называется наблюдателей собственности. Это очень простой способ, чтобы автоматически запустить код каждый раз при изменении значения свойства. Так что, это простое определение класса, я собираюсь добавить наблюдателей на этой хранимой собственности называется именем. Это что-нибудь о том, как мы обычно используют это свойство не изменится. С именем сначала, что я собираюсь сделать, это добавить блок кода в конце просто открытие и закрытие фигурную скобку. Внутри, что я могу добавить еще два кодовых блоков с именами willSet и после этого didSet.

Это наши наблюдатели собственности, в настоящее время они автоматически вызывается при любом изменении этого свойства. WillSet называется как раз перед его вот-вот изменится, и didSet называется сразу после. Вы можете использовать один или другой или оба или конечно, тоже. Я собираюсь добавить строку в willSet здесь, только Printline около изменить имя. Что происходит, является мы получаем прошел в неявный параметр, который называется новое_значение. Так willSet знает, что это вот-вот изменится.

Оборотной стороной этого является didSet, который вызывается после этого, получает принят в неявный параметр, который называется OldValue. Если это свойство определяется как строка, новое_значение и OldValue будет строка. Если это свойство определено как INT, они будут целое, и так далее. И это все, что наблюдатели собственности. Теперь то, что я хочу видеть, чтобы увидеть эффект этого нужно внести изменения в этот объект. Здесь, внизу, я экземпляра нового экземпляра класса игрока, а затем, что я буду делать, я буду идти вперед и сказать newPlayer.name равно Шелли Эванс.

Мы видим, на детской площадке просто состояние этого объекта, но мы не видим вот изменить имя или сменили название из сообщений. Что мне нужно сделать, это просто откройте кнопку История значение, поэтому я могу увидеть выход консоли. Но если я вижу, что у нас есть два сообщения. О том, чтобы изменить имя Шелли Эванс и сменили название от Джона Доу. Это новое значение и старое значение, что мы видим. Обратите внимание, что они не призывали к инициализации собственности, они не называют, когда мы сначала изменить его на John Doe, как она была определена в самом классе.

Это потому, что мы всегда можем предположить, свойство присваивается начальное значение. Наблюдатели вступают в силу после инициализации. Они называются только тогда, когда свойство меняется. Вы можете, если вы хотите изменить имя неявного параметра этих блоков, если вам не нравится новое_значение или OldValue, скажем, если я хотел, чтобы это можно назвать новое имя, все, что я могу сделать, это после willSet слова, я могу просто поставить NEWNAME в скобках, что будет изменить имя неявного параметра, и вот что я должен был бы использовать внутри этой willSet блока.

Сказав, что, я думаю, новое_значение и OldValue являются довольно хорошо подходит для этой информации для этих данных.Единственное, что бы отметить, что вы не можете добавить наблюдателей собственности на ленивых свойств, как этот, только два обычных хранимых свойств. И что это для наблюдателей собственности.

 

 


Дата добавления: 2015-08-20; просмотров: 160 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Adding property observers| Understanding access modifiers in Swift

mybiblioteka.su - 2015-2024 год. (0.006 сек.)