В онлайн-курсе Stanford CS193p для iPhone курс, лекция 6, создается приложение с ползунком в качестве ввода и настраиваемым представлением в качестве вывода.
Когдаползунок изменен, контроллер вида снова устанавливает значение ползунка.
Важные биты контроллера вида в Счастье 2.zip :
@implementation HappinessViewController
@synthesize happiness;
- (void)updateUI
{
// assignment-loop when called from happinessChanged:?
self.slider.value = self.happiness; // sets slider to model's (corrected) value
[self.faceView setNeedsDisplay];
}
- (void)setHappiness:(int)newHappiness
{
if (newHappiness < 0) newHappiness = 0; // limit value
if (newHappiness > 100) newHappiness = 100;
happiness = newHappiness;
[self updateUI]; // changed happiness should update view
}
- (IBAction)happinessChanged:(UISlider *)sender // called by changed slider
{
self.happiness = sender.value; // calls setter setHappiness:
}
Не приводит ли это к циклу (изменен ползунок -> обновлена модель -> изменен ползунок ->?)?
Или это даже хорошая практика?