Когда вы регистрировались для уведомлений KVO, вы указали путь к addObserver:
. Параметр keypath - это просто возвращаемое вами значение. Параметр объекта - это объект, которому вы отправили сообщение addObserver:
. Их можно использовать для различения уведомлений KVO о различных траекториях / объектах (например, если вы наблюдаете несколько значений).
change
- это словарь, содержащий информацию о характере изменения значения. Он может содержать новое значение или старое значение, или, для многих, он может содержать измененные индексы. Его содержание лучше описано в Руководство по программированию KVO в разделе Получение уведомления об изменении .
Когда вы регистрируетесь для уведомления, вы также можете указать значение контекста. Последнее значение - это просто возвращаемое вам значение. Если у вас нет какой-либо специфической для контекста информации, передайте nil на addObserver:
.
Для хорошего обсуждения некоторых недостатков системы KVO (и некоторых вспомогательных классов для их устранения), см. Отличное сообщение Майка Эша в блоге