如何构造一个 NSPredicate 来查找 Arrays 对象中任何位置的搜索词?我不能很好地解释它,所以这里有一个例子。
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"
// )
但如果我使用NSString *searchText = @"Test Str Appl";
我得到零结果。我希望它匹配这个字符串的相同结果。
我正在寻找的是一个类似于 Xcode 中的“快速打开”菜单的搜索功能,在这里搜索字符串的措辞是否正确无关紧要,只是字母的顺序正确作为匹配项。我真的希望这是有道理的。