Я хочу реализовать полнотекстовый поиск, и я делаю так:
NSString* start = @"a";
NSString* stop = [start stringByAppendingString:@"zzz"];
NSArray* range = [NSArray arrayWithObjects:[NSExpression expressionForConstantValue:start],[NSExpression expressionForConstantValue:stop],nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY keyword.word BETWEEN %@",range];
Старт является переменным и изменяется в зависимости от того, что я печатаю (то есть, если я набираю 'cool', это означает, что start = @ "cool", а останов будет @ "coolzzz").
Теперь это прекрасно работает, пока мой ввод не будет цифрой или числом, и NSPredicate не вернет никаких результатов, даже если они есть.
Например, в моих данных есть записи вида entry_name 1, entry_name 2. Если я ввожу entry_name, я получаю все результаты, но как только я ввожу entry_name 1, я не получаю никаких результатов.
После тестирования я увидел, что если я просто введу 1, я не получу результатов, поэтому NSPredicate не будет работать.
Как я могу написать NSPredicate, который фильтрует все символы, включая цифры?