Wie konstruiere ich ein NSPredikat, das irgendwo in einem Array Objekte nach den Suchbegriffen sucht? Ich kann es nicht richtig erklären, also hier ist ein Beispiel.NSPredicate passt auf beliebige Zeichen
NSArray *array = @[@"Test String: Apple", @"Test String: Pineapple", @"Test String: Banana"];
NSString *searchText = @"Apple";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", searchText];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
NSLog(@"filteredArray: %@", filteredArray);
// filteredArray: (
// "Test String: Apple",
// "Test String: Pineapple"
//)
Aber wenn ich NSString *searchText = @"Test Str Appl";
verwenden bekomme ich null Ergebnisse. Ich möchte, dass es zu denselben Ergebnissen für diese Zeichenfolge passt.
Was ich suche ist eine Suchfunktion, die dem "Open Quickly" -Menü in Xcode ähnlich ist, wo es egal ist, ob Ihr Suchbegriff richtig formuliert ist, nur dass die Buchstaben in der richtigen Reihenfolge sind als ein Spiel. Ich hoffe wirklich, dass das Sinn ergibt.
Offenbar der Begriff ich suchte war "Fuzzy Matching". – squarefrog