Проверьте, не содержит ли NSMutableString определенный символ - PullRequest
0 голосов
/ 21 апреля 2011

Есть ли способ обнаружить, если строка NSString не содержит определенный символ (в данном случае это "-")?Например, если у меня есть NSString @"-OU" и NSString @"YOU", есть ли способ запустить UIAlert, когда строка @"YOU", а не @"-OU"?

РЕДАКТИРОВАТЬ: Кстати, яЯ пытаюсь сделать это динамически для любой строки.В настоящее время у меня есть следующий код, и я хочу знать, может ли это работать:

  - (BOOL) isDone:(NSString *)str{

       unichar dash = '-';

    for(int i = 0; i < [str length]; i ++){
        if([str characterAtIndex:i] != dash){
            return YES;
        }

        else{
            return NO;
        }
    }

}

Этот код в настоящее время выдает следующее предупреждение в коде xcode: «Элемент управления может достигнуть конца функции, не являющейся пустым».

Ответы [ 2 ]

5 голосов
/ 21 апреля 2011

попробуйте

NSString *yourString=@"-OU";  
if ([yourString rangeOfString:@"-"].location == NSNotFound) {
  NSLog(@"string does not contain -");
} else {
  NSLog(@"string contains -");
}
0 голосов
/ 21 апреля 2011

если вы пытаетесь проверить, находится ли вообще слово в тире, используя вашу собственную функцию сборки, я бы сделал это следующим образом

 - (BOOL) isDone:(NSString *)str{

       unichar dash = '-';

    for(int i = 0; i < [str length]; i ++){
        if([str characterAtIndex:i] == dash){
            return YES;
        }

    }
    return NO;

}

Таким образом, он будет проходить по всей строке, пока не найдет тире, и прекратит работу, как только найдет тире, в противном случае он вернет NO после завершения проверки всей строки.

...