Вы не сказали, что ISN не работая с вашим кодом, поэтому трудно точно знать, что ответить. В качестве подсказки - в будущем вопросы не просто говорят «это не работает», но состояние ЧТО не работает и КАК оно не работает. Однако ...
NSMutableString *currentFormattedString = [[NSMutableString alloc] initWithString:formattedString];
int count = [formattedString length];
for (int i = 0; i<count; i++) {
if (i %4 == 0) {
[currentFormattedString insertString:@" " atIndex:i];
}
}
Вы вводите пробел, но тогда вы не учитываете это в своем значении индекса. Итак, предположим, что ваш formattedString является aaaaaaaaaaaaaaaa Первый раз через петлю, вы получите 4-е место и вставить пробел при г = 4
аааа AAAAAAAAAAAA
Теперь в следующий раз, когда вы получите, чтобы вставить пробел , я буду 8. Но восьмое место в вашей currentFormattedString не там, где вы думаете, это будет
аааа ааа ааааааааа
в следующий раз это будет еще 4-х символов, по которым до сих пор не там, где вы думаете
аааа ааа аа ааааааа
И так далее
Вы должны принять во внимание вставленного пространства, которое будет влиять на величину смещения.
Прежде всего найдите длину своей строки. Вставьте свою строку в цикл и сделайте условие согласно. что после каждых 4 символов должно быть пробелы. Просто. – Sarah