NSCharacterSet: Как я добавляю “_” к alphanumericCharacterSet текстовому ограничению?

Создание набора NSCharacter для ограничения UITextField для ввода имен пользователей. Я хочу, чтобы пользователь смог также ввести подчеркивание (так [A-Za-z0-9 _]), но alphanumericCharacterSet не включает его. Существует ли способ указать диапазон как этот в краткой форме?Ясно + (id)characterSetWithRange:(NSRange)aRange, но я действительно не понимаю, как это работало бы.

Я сделал, чтобы простой UITextField разделил это на подклассы, я передаю набор символов. Ограничение хорошо работает и не позволяет пользователю вводить что-либо кроме числовой альфы. Просто потребность добавить "_" к тем допускам.

NSCharacterSet *characterSet = [NSCharacterSet alphanumericCharacterSet];
[textField setAllowed:characterSet];
[textField setFrame:frame];
55
задан typeoneerror 4 May 2010 в 17:49
поделиться

1 ответ

Objective-C

NSMutableCharacterSet *_alnum = [NSMutableCharacterSet characterSetWithCharactersInString:@"_"];
[_alnum formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];

Swift

let _alnum = NSMutableCharacterSet(charactersIn: "_")
_alnum.formUnion(with: .alphanumerics)
120
ответ дан 26 November 2019 в 17:43
поделиться