NSCharacterSet
s будут ключом здесь. Сначала вам понадобится набор символов алфавитных символов:
NSCharacterSet* letters = [NSCharacterSet characterSetWithRange:NSMakeRange('a', 26)];
И затем, если вы хотите проверить, содержит ли строка символ, который не является буквой, вы можете использовать обратное значение этого набора:
NSCharacterSet* notLetters = [letters invertedSet];
Затем используйте NSString
rangeOfCharacterFromSet:
с notLetters
, и если диапазон не начинается с NSNotFound
, в вашей строке есть запрещенные символы.
NSRange badCharacterRange = [myString rangeOfCharacterFromSet:notLetters];
if (badCharacterRange.location != NSNotFound) // found bad characters