Mit filteredArrayUsingPredicate gibt immer ein leeres Array für Core Data geholt Objekte
-
19-09-2019 - |
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
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