/ThingsViewController.m Secret
Created
December 13, 2012 01:39
-
-
Save lukeredpath/e3c9a65769efb9be5a3a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@implementation ThingsViewController | |
static NSString *ThingCellIdentifier = @"ThingCell"; | |
- (ResultSetTableDataSource *)thingsDataSource | |
{ | |
if (_thingsDataSource == nil) { | |
_thingsDataSource = [[ResultSetTableDataSource alloc] initWithAutomaticallyUpdatingResultSet:[self.thingsRepository allThings]]; | |
_thingsDataSource.cellIdentifier = ThingCellIdentifier; | |
_thingsDataSource.changeDelegate = self; | |
} | |
return _thingsDataSource; | |
} | |
#pragma mark - View lifecycle | |
- (void)viewDidLoad | |
{ | |
[super viewDidLoad]; | |
[self.tableView setDataSource:self.thingsDataSource]; | |
} | |
#pragma mark - ResultSetTableDataSourceChangesDelegate | |
- (void)dataSource:(ResultSetTableDataSource *)dataSource resultSetDidChange:(NSDictionary *)changes | |
{ | |
[self.tableView reloadData]; | |
} | |
#pragma mark - UITableViewDelegate | |
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
// Thing *thing = [self.thingsDataSource objectAtIndexPath:indexPath]; | |
// bind conversation object with cell in this method here | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Incidentally, I've since changes my opinion on configuring the cell in the willDisplay method. The documentation was a bit ambiguous but after reading more, Apple do explicitly state elsewhere that the cell should be configured in tableView:cellForRowAtIndexPath: - my solution to this was to give the datasource a configuration block that is called after dequeuing a cell and before returning it.