Один быстрый и простой способ сделать это:
unsigned int num = 10; // example value
NSString *immutable = [NSString stringWithFormat:@"%.5u", num];
Если вы действительно хотите использовать многословный подход из примера, который вы прочитали, вы можете отправить сообщение «copy» в изменяемую строку, чтобы получить неизменяемую копию. Это относится ко всем изменяемым типам.