Формат ввода в поле NSTextField
Есть поле NSTextField и нужно сделать так, чтоб в него можно было вводить только цифры и, чтоб они имели такой вид: "123-456-789"
Эту задачу я решил NSNumberFormatter:
NSString *myString = @"12345678";
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setGroupingSeparator:@"-"];
[formatter setGroupingSize:3];
[formatter setMaximumIntegerDigits:9];
NSString *formattedOutput = [formatter stringFromNumber:[NSNumber numberWithInteger:[myString intValue]]];
Но проблема в том, что форматирование проходит не справа, а слева, то есть имеем:
"12-345-678",
а нужно чтоб было так: "123-456-78"
Источник: Stack Overflow на русском