diff --git a/SSManagedViewController.h b/SSManagedViewController.h index c47563e..0906a05 100644 --- a/SSManagedViewController.h +++ b/SSManagedViewController.h @@ -17,6 +17,7 @@ @property (nonatomic, strong) SSManagedObject *managedObject; @property (nonatomic, strong) NSFetchedResultsController *fetchedResultsController; ++ (Class)fetchedResultsControllerClass; - (NSFetchRequest *)fetchRequest; - (Class)entityClass; - (NSArray *)sortDescriptors; diff --git a/SSManagedViewController.m b/SSManagedViewController.m index ee80f89..26efee5 100644 --- a/SSManagedViewController.m +++ b/SSManagedViewController.m @@ -18,7 +18,7 @@ @implementation SSManagedViewController - (NSFetchedResultsController *)fetchedResultsController { if (!_fetchedResultsController) { - _fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:self.fetchRequest + _fetchedResultsController = [[[[self class] fetchedResultsControllerClass] alloc] initWithFetchRequest:self.fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:self.sectionNameKeyPath cacheName:self.cacheName]; @@ -44,6 +44,11 @@ - (void)dealloc { #pragma mark - Configuration ++ (Class)fetchedResultsControllerClass { + return [NSFetchedResultsController class]; +} + + - (NSFetchRequest *)fetchRequest { NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; fetchRequest.entity = [self.entityClass entityWithContext:self.managedObjectContext];