Сравнить строки в массиве с другой строкой

#objective-c #arrays #ios

#objective-c #массивы #iOS

Вопрос:

Я хотел бы знать, как сравнить строку с массивом, т. Е., если в моем списке массивов есть {"abc", "pqr", "xyz"} и, допустим, "mno" введена новая строка, она должна сравниваться с моим предыдущим списком массивов. Как я могу это сделать? Заранее спасибо.

Ответ №1:

Посмотрите на документацию NSArray…

 BOOL hasString = [your_array containsObject:your_string];
  

Комментарии:

1. можем ли мы использовать это в условии if

2. @sameer, да, ты можешь: if ([your_array containsObject:your_string]) {}

3. Это хорошее решение, только если вас не интересует фактическое содержимое строки, что обычно не так. Вызов containsObject использует isEquals для сравнения каждого элемента.

4. @crow, ты единственный, кто принял это во внимание. На самом деле я искал способ вызвать isEqualToString аналогичным образом, но позже понял, что isEqual для меня достаточно в текущем сценарии. Однако меня интересует чистое решение с isEqualToString, просто из любопытства. Вы знаете, как мы можем этого добиться?

Ответ №2:

Система:

 if ([yourArray containsObject:yourNSString])
{
    NSLog(@"Bingo!");
}
  

Руководство:

 for (int i = 0 ; i < [yourArray count] ; i  ) {
    if ([yourNSString isEqualToString:[yourArray objectAtIndex:i]]) {
        NSLog(@"Bingo!");
        break;
    }
}
  

Ответ №3:

 for(int i=0; i<[myarray length];   i) {
     if([myarray[i] isEqualToString:@"mno"])
            NSLog("Equal");
     else NSLog("Not Equal");
}
  

Ответ №4:

Вот рабочий (протестированный) метод,

 -(BOOL)checkStingInArray: (NSString *)aString arrayWithStrings:(NSMutableArray *)array

{

    if ( [array containsObject: aString] ) {

        NSLog(@" %@ found in Array",aString );
        return YES;

    } else {
        NSLog(@" %@ not found in Array",aString );
        return NO;
    }
}