Я проверяю NSString, чтобы гарантировать, что строка не содержит апострофы.Validate NSString
код, я использую, чтобы сделать это
NSCharacterSet * invalidNumberSet = [NSCharacterSet characterSetWithCharactersInString:@"'"];
NSScanner * scanner = [NSScanner scannerWithString:string];
NSString * scannerResult;
[scanner setCharactersToBeSkipped:nil];
[scanner scanUpToCharactersFromSet:invalidNumberSet intoString:&scannerResult];
if(![string isEqualToString:scannerResult])
{
return 2;
}
Возвращение 2 представляет ошибку. Этот код работает, за исключением случая, когда строка является апострофом.
Чтобы обойти эту проблему, я добавил следующий код над предыдущим блоком.
if([string isEqualToString:@"'"]);
{
return 2;
}
Этот код оценивается в true, независимо от его ввода. Мне нужно либо предотвратить сбой первого блока с помощью ввода ', либо заставить второй блок работать.
Что мне не хватает?
@ Крис: Вы также можете построить ответ Чак, если у вас есть набор символов, которые вам нужно проверить. Итак, если вы создаете NSCharacterSet со всеми незаконными символами, вы можете сделать что-то вроде if (([string rangeOfCharacterFromSet: invalidSet]). Location! = NSNotFound) // сделать что-то –