diff --git a/SSManagedTableViewController.h b/SSManagedTableViewController.h index 85dfa1b..9d3c6c8 100644 --- a/SSManagedTableViewController.h +++ b/SSManagedTableViewController.h @@ -19,6 +19,5 @@ - (id)initWithStyle:(UITableViewStyle)style; - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath; -- (id)objectAtIndexPath:(NSIndexPath *)indexPath; @end diff --git a/SSManagedTableViewController.m b/SSManagedTableViewController.m index 90079a4..7d2c1dc 100644 --- a/SSManagedTableViewController.m +++ b/SSManagedTableViewController.m @@ -85,14 +85,6 @@ - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPa } - -#pragma mark - Accessing Objects - -- (id)objectAtIndexPath:(NSIndexPath *)indexPath { - return [self.fetchedResultsController objectAtIndexPath:indexPath]; -} - - #pragma mark - UITableViewDataSource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { @@ -168,6 +160,8 @@ - (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id) } UITableView *tableView = self.tableView; + indexPath = [self viewIndexPathForFetchedIndexPath:indexPath]; + newIndexPath = [self viewIndexPathForFetchedIndexPath:newIndexPath]; switch(type) { case NSFetchedResultsChangeInsert: { diff --git a/SSManagedViewController.h b/SSManagedViewController.h index fdf9f1f..6d7976e 100644 --- a/SSManagedViewController.h +++ b/SSManagedViewController.h @@ -27,4 +27,8 @@ - (NSString *)sectionNameKeyPath; - (NSString *)cacheName; +- (NSIndexPath *)viewIndexPathForFetchedIndexPath:(NSIndexPath *)fetchedIndexPath; +- (NSIndexPath *)fetchedIndexPathForViewIndexPath:(NSIndexPath *)viewIndexPath; +- (id)objectForViewIndexPath:(NSIndexPath *)indexPath; + @end diff --git a/SSManagedViewController.m b/SSManagedViewController.m index aa72d55..c07c282 100644 --- a/SSManagedViewController.m +++ b/SSManagedViewController.m @@ -88,4 +88,21 @@ - (NSString *)cacheName { return nil; } + +#pragma mark - Accessing Objects + +- (NSIndexPath *)viewIndexPathForFetchedIndexPath:(NSIndexPath *)fetchedIndexPath { + return fetchedIndexPath; +} + + +- (NSIndexPath *)fetchedIndexPathForViewIndexPath:(NSIndexPath *)viewIndexPath { + return viewIndexPath; +} + + +- (id)objectForViewIndexPath:(NSIndexPath *)indexPath { + return [self.fetchedResultsController objectAtIndexPath:[self fetchedIndexPathForViewIndexPath:indexPath]]; +} + @end diff --git a/SSRemoteManagedObject.m b/SSRemoteManagedObject.m index cfe06da..ddce67f 100644 --- a/SSRemoteManagedObject.m +++ b/SSRemoteManagedObject.m @@ -168,7 +168,7 @@ + (NSDate *)parseDate:(id)dateStringOrDateNumber { // Parse number if ([dateStringOrDateNumber isKindOfClass:[NSNumber class]]) { - [NSDate dateWithTimeIntervalSince1970:[dateStringOrDateNumber doubleValue]]; + return [NSDate dateWithTimeIntervalSince1970:[dateStringOrDateNumber doubleValue]]; } // Parse string