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
Каков код для этого?
Спасибо!!
Ответы
Ответ 1
Из документации NSString
-[NSString rangeOfString]
Возвращаемое значение
Структура NSRange, дающая местоположения и длины в приемнике первое вхождение aString. Возвращает {NSNotFound, 0}, если aString не найден или пуст (@"").
Так выглядит:
if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
//Do something
Является ли Apple одобренным способом.
EDIT:
Я сделал очень плохую опечатку, исправил ее, спасибо Калле.
Ответ 2
Проверьте длину диапазона. Если он отличен от нуля, он был найден.