Наблюдение ключевой ценности в Touch Cocoa - PullRequest
0 голосов
/ 02 мая 2011

Я читал о наблюдении значения ключа и получаю, что ViewController прослушивает изменения в модели для обновления представления. Немного иначе: как модель узнает, что ее собственные параметры были обновлены?

Например, у меня есть кнопка, которая меняет один параметр модели, и другая кнопка, которая меняет другой параметр. Если что-то изменится, мне нужно обновить громкость. Будет ли лучший способ сделать это: 1) Вызвать метод UpdateVolume модели в каждом отдельном методе «ButtonPressed» в моем ViewController ИЛИ, чтобы модель выполняла наблюдение значения ключа для себя и всякий раз, когда изменяется какой-либо из ее параметров, вызывайте UpdateVolume? Последнее кажется более удобным, если я реализую больше параметров, каждый из которых обновляется с помощью ViewController с помощью другого метода.

спасибо, John

1 Ответ

0 голосов
/ 02 мая 2011

Если модель делает наблюдение за собой, это звучит неправильно.Он знает все о себе, поэтому нет необходимости в слабой связи, используя KVO на себе.Просто заставьте каждую кнопку вызывать любой открытый API модели, необходимый для обновления модели.Модель будет реализовывать любую логику и выдавать результат, который будет отслеживать VC, используя KVO, и соответствующим образом обновлять свои представления.Это работает как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...