2016-04-16 12 views
1

ich den Code unten verwenden, um einen Abruf resultieren aus branch Tisch in einem Land zu tun:NSFetchedResultsController sortieren Abschnitte basieren auf Artikel zählen

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

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"BranchData" inManagedObjectContext:[BRCoreRepository instance].managedObjectContext]; 
    [fetchRequest setEntity:entity]; 

    [fetchRequest setFetchBatchSize:5]; 

    NSString *cache = nil; 

    if (searchValue.length > 0){ 
     fetchRequest.predicate =[NSPredicate predicateWithFormat:@" city contains[cd] %@ || address contains[cd] %@ || branchCode contains[cd] %@ ",searchValue,searchValue,searchValue]; 
    } else cache = @"_preditc_state"; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"branchState" ascending:YES]; 
    [fetchRequest setSortDescriptors:@[sortDescriptor ]]; 

    _fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                    managedObjectContext:[BRCoreRepository instance].managedObjectContext 
                     sectionNameKeyPath:@"branchState" 
                       cacheName:cache 
           ]; 
    _fetchedResultsController.delegate = self; 

    return _fetchedResultsController; 
} 

Im aktuellen Code I Abschnitte auf der branchState der Branche basiert schaffen könnte. Es funktioniert korrekt, aber ich habe ein anderes Problem - ich möchte die Artikel auch auf der Grundlage der Artikelanzahl bestellen. Wenn also im Zustand B wir 200 Artikel haben, aber im Abschnitt A wir 150 Artikel im Ergebnis haben, zeigen wir Abschnitt B über Abschnitt A. Ist das auch mit NSFetchedResultsController möglich?

Antwort

0

Sie müssten die Beziehungsanzahl in Ihrer Elternklasse modellieren. Dies kann durch Überschreiben der Setter der Beziehung in Ihrer NSManagedObject Unterklasse automatisiert werden.

Verwandte Themen