Frage

Ich versuche NSArray der filteredArrayUsingPredicate zu verwenden: Methode zum Filtern eine Reihe von Kerndaten verwalteten Objekte. Hier ist ein Überblick:

NSArray *array = self.fetchedResultsController.fetchedObjects;

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"name contains[c] %@", searchString];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

Dies ist die Rückkehr immer ein leer ‚filteredArray‘? Ich vermute, es ist mein Prädikat ist, aber ich weiß, dass die Objekte in ‚Array‘ Objekte mit einem Schlüssel „name“ genannt verwaltet werden. Der Wert von ‚search‘ ist in Ordnung, und ich habe performFetch laufen. Vor

War es hilfreich?

Lösung

Ihr Prädikat ist in Ordnung.

Ich würde Vier-Augen-Array und searchString-:

NSArray *array = self.fetchedResultsController.fetchedObjects;

NSLog(@"array = %@",array);
NSLog(@"array count = %d",[array count]);
NSLog(@"searchString = %@",searchString);

NSPredicate *predicate = [NSPredicate
                          predicateWithFormat:@"name contains[c] %@", searchString];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top