Я хочу найти строковый атрибут в Базовых данных для поискового запроса, используя NSPredicate. Строковый атрибут может быть одним словом или несколькими, например, Ulysses
или The Red Badge of Courage
.
Я мог бы использовать contains
, как показано ниже:
NSPredicate *pred= [NSPredicate predicateWithFormat:@"title contains[cd] %@",str];
Однако для защиты от совпадения для поискового термина rage
, например, против The Red Badge Of Courage
было бы безопаснее искать совпадения в начале слова.
Существует ли способ изменения, начинающийся с, чтобы вы могли применить его к любому слову в строке, а не только ко всей строке, то есть к некоторому варианту:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"title beginswith[cd] %@", str];
Вы также можете выполнить поиск, если значение атрибута соответствует какому-либо слову в поисковом запросе:
NSPredicate *pred = [NSPredicate predicateWithFormat: @"SELF IN %@", str]
По сути, я хочу сделать обратное, проверить, соответствует ли строка поиска какому-либо слову в атрибуте в основных данных.
Спасибо за любые предложения