NSPredicate для извлечения ключевых слов в строке - PullRequest
4 голосов
/ 20 января 2011

В основных данных у меня есть сущность под названием ключевое слово со свойством text.Я хочу найти все ключевые объекты, которые содержатся в определенном укусе.

Я пытался:

[NSPredicate predicateWithFormat:@"%@ contains[c] text", myString];

Но это вылетаетКажется, что если он будет работать только в обратном порядке.

Ответы [ 2 ]

3 голосов
/ 20 января 2011

Предикат работает с сущностью, поэтому ваш предикат перевернут. Поскольку свойство text вашей сущности содержит одно слово, вы должны разбить строку на несколько слов и затем проверить:

// This is very simple and only meant to illustrate the property, you should
// use a proper regex to divide your string and you should probably then fold
// and denormalize the components, etc.
NSSet* wordsInString = [NSSet setWithArray:[myString componentsSeparatedByString:@" "]];
NSPredicate* pred = [NSPredicate predicateWithFormat:@"SELF.text IN %@", wordsInString];
0 голосов
/ 20 января 2011

Я думаю, что вы делаете в обратном направлении.

Попробуйте это.

[NSPredicate predicateWithFormat:@"text contains[cd] %@", myString];
...