2016-06-30 2 views
-1

У меня есть ряд строк, например @"fog",@"foggy fod",@"computer",@"lap rop". Теперь у меня есть строковая строка, например @"i like fog". Теперь я хочу знать, содержит ли моя строка какие-либо слова в моем массиве. Скажите, существует ли какое-либо из слова в массиве в моей строке.слово поиска в массиве

Я попробовал это до сих пор

NSArray *array = [dictionary objectForKey:@"Keywords"]; 
NSLog(@"arry %@",array[0]); 
int i=0; 
for (i=0; i<[array count]; i++) 
{ 
    if([title containsString:array[i]]) 
    { 
     break; 
     return true; 
    } 
} 
+2

В чем проблема? Каков результат вашего кода? –

ответ

1

для цикла заканчивается прежде return true; выполняется из-за break. Просто удалите перерыв:

for (i=0; i<[array count]; i++) { 
    if([title containsString:array[i]]) 
    { 
     return true; 
    } 
} 
1

Вы можете сделать это с NSPredicate, как это.

NSArray *array = @[@"fog",@"foggy fod",@"computer",@"lap rop"]; 
NSString *str = @"i like computer"; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@" %@ contains[cd] SELF", str]; 
NSArray *filtered = [array filteredArrayUsingPredicate:predicate]; 
NSLog(@"filtered %@",filtered); 
Смежные вопросы