Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- users = [MySingleton sharedInstance].users;
- - (id)getUsersAndNotifyObject:(id)object selector:(SEL)selector
- // register observer first so you don't miss an update
- [[MySingleton sharedInstance] addObserver:self
- forKeyPath:@"users"
- options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
- context:&kvo_users_context];
- users = [MySingleton sharedInstance].users;
- // implement appropriate observeValueForKeyPath:ofObject:change:context: method
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(sharedDataChanged:)
- name:MySingletonDataUpdatedNotification
- object:[MySingletonDataUpdatedNotification sharedInstance]];
- users = [MySingleton sharedInstance].users;
- // implement appropriate sharedDataChanged: method
- users = [MyDataFactory getUsers];
- @interface RecipeRepository {}
- - (void)initWithDelegate:(id)aDelegate;
- - (void)findAllRecipes;
- - (void)findRecipeById:(NSUInteger)anId;
- @end
- @protocol RepositoryDelegateProtocol
- - (void)repository:(id)repository didRetrieveEntityCollection:(NSArray *)collection;
- - (void)repository:(id)repository didRetrieveEntity:(id)entity;
- @end
- - (void)viewDidLoad
- {
- self.users = [MySingleton getUsers];
- [self.view setNeedsDisplay];
- }
- - (void)viewDidLoad
- {
- if(self.repository == nil) { // just some simple lazy loading, we only need one repository instance
- self.repository = [[[RecipeRepository alloc] initWithDelegate:self] autorelease];
- }
- [self.repository findAllRecipes];
- }
- - (void)repository:(id)repository didRetrieveEntityCollection:(NSArray *)collection;
- {
- self.users = collection;
- [self.view setNeedsDisplay];
- }
- @protocol RepositoryDelegateProtocol
- - (void)repositoryWillLoadEntities:(id)repository;
- @end
- // in your controller
- - (void)repositoryWillLoadEntities:(id)repository;
- {
- [self showLoadingView]; // etc.
- }
Add Comment
Please, Sign In to add comment