В моем приложении есть UITextField
, который получает номер.
Я хочу, чтобы это число было представлено в определенном формате, например: (62) 1234 1234
Проблема в том, что у меня уже есть контроль над методом -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
, но я не знаю, как мне сделать эту "маску"
В настоящее время я делаю так:
string = [textField.text stringByReplacingCharactersInRange:range withString:string];
string = [[string componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:string];
NSLog(@"%@", myNumber);
в конце этого кода у меня есть 2 вещи:
- string : строковое представление моего текста (например,
6212341234
какNSString
) - myNumber: номер для этой строки (например,
6212341234
какNSNumber
)
как я могу создать эту строку: (62) 1234 1234
на основе myNumber
или string
?
ИЗМЕНИТЬ
Отвечая на вопрос Рдельмара:
В числе может быть 10 или 11 цифр, и я намерен разделить их следующим образом: (62) 1234 1234
или (62) 12345 1234