Create a gist now

Instantly share code, notes, and snippets.

- (void)viewDidLoad
{
[super viewDidLoad];
[self observeModel]
[self render];
}
- (void)observeModel
{
// KVO is used to observe model changes
__weak id weakSelf = self;
[self.model addObserverForKeyPath:@"favorite" owner:self block:^(id observed, NSDictionary *change) {
[weakSelf render];
}];
}
- (void)favoriteButtonTapped:(id)sender
{
// The action only changes the data, not the UI
self.model.favorite = YES;
}
- (void)render
{
self.label.text = (self.model.favorite ? @"Favorite" : @"Not favorite");
}
// Un-observing code is left out to simplify the example
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment