Подтвердить что ты не робот

NSString question - rangeOfString метод

У меня проблема, которую я не могу понять.

Я пытаюсь запустить метод rangeOfString для строки, и я не уверен, как определить, не была ли строка найдена. Например:

NSRange range = [@"abc" rangeOfString:@"d" options:NSCaseInsensitiveSearch range:NSMakeRange(0,3)];

Ясно, что "d" не содержится в строке "abc". Я хотел бы иметь возможность сделать это:

if(the range is empty since "d" is not in "abc")
   //do something

Каков код для этого?

Спасибо!!

4b9b3361

Ответ 1

Из документации NSString

-[NSString rangeOfString]

Возвращаемое значение

Структура NSRange, дающая местоположения и длины в приемнике первое вхождение aString. Возвращает {NSNotFound, 0}, если aString не найден или пуст (@"").

Так выглядит:

if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
  //Do something

Является ли Apple одобренным способом.

EDIT:

Я сделал очень плохую опечатку, исправил ее, спасибо Калле.

Ответ 2

Проверьте длину диапазона. Если он отличен от нуля, он был найден.