Цитата:
Сообщение от dimarik
А чем тут отличие от ентерфрейма? Наоборот, ентерфрейм происходит точно, а нотификации может и не быть. И как Вы собираетесь проверять изменение отслеживаемой величины? Будете писать в приватную пременню старое значение и сравнивать с вновь полученным? И так в каждой вьюхе?...
|
Ох, ну понеслась по кочкам..

Я рассматривал простейшую ситуацию, когда состояние меняется, а нотификации не требуется, и под состоянием имел ввиду координаты. Не затрагивая остальную модель. Я же не говорил, что нет оповещения о других изменениях. Так например вполне может быть нотификация при изменении скорости, и если отлична от нуля - запускать энтерфрэйм.
Если речь зашла о проверках, то проще писать координаты в самой модели, проверяя округленное значение времени деленного на fps, так чтобы вычисление и запись происходили только при первом обращении на кадре, а остальные запрашивающие получали значение уже записанной переменной. И при постоянном движении несколько энтерфрэймов не будут работать медленнее, чем вызовы всех обработчиков, подписанных на событие.
Но все зависит от постановки задачи и конкретики, вариантов может быть масса. А я привел лишь абстрактный пример.
Кстати, внимательный сразу бы указал, что состоянием в полном случае является только скорость и время, а координаты вполне могла бы считать и сама вьюшка по той же формуле.
Я хотел лишь показать случай, когда отображение запрашивает "срез" некоего состояния модели, в любой момент времени без дополнительной нотификации со стороны модели.