2012-07-20 11 views
8

Moveré los datos principales de mi aplicación a Magical Record. Para actualizar un UITableView, anteriormente había este código:Alternativa para los resultados obtenidos Código de control utilizando magicalrecord?

- (NSFetchedResultsController *)fetchedResultsController { 

    if (_fetchedResultsController != nil) { 
     return _fetchedResultsController; 
    } 

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entry" inManagedObjectContext:[CoreDataStore mainStore].context]; 
    [fetchRequest setEntity:entity]; 

    [fetchRequest setFetchBatchSize:20]; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"creationDate" ascending:NO]; 
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 

    [fetchRequest setSortDescriptors:sortDescriptors]; 

    // Use the sectionIdentifier property to group into sections. 
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[CoreDataStore mainStore].context sectionNameKeyPath:@"sectionIdentifier" cacheName:@"Root"]; 
    aFetchedResultsController.delegate = self; 
    self.fetchedResultsController = aFetchedResultsController; 

    self.fetchedResultsController.delegate = self; 

    return _fetchedResultsController; 
} 

¿Debo mantener este código en su sitio, o debe funcionar de forma diferente utilizando diario mágico?

Respuesta

14

Se puede utilizar la siguiente manera:

- (NSFetchedResultsController *)fetchedResultsController { 
    if (_fetchedResultsController != nil) { 
     return _fetchedResultsController; 
    } 

    _fetchedResultsController = [NSManagedObject fetchAllGroupedBy:nil withPredicate:nil sortedBy:@"date" ascending:NO delegate:self]; 

    return _fetchedResultsController; 
} 

usted tiene que reemplazar NSManagedObject con su subclase.

Puede ver otras opciones here (parte inferior del encabezado).

+1

No obtengo ningún resultado de esto. ¿Se requiere un paso adicional como performFetch? – Allen

Cuestiones relacionadas