Это работает, вы просто игнорируете возвращаемое значение, которое является строкой с добавленным форматом. (См. документы .) Вы не можете изменить NSString - для изменения NSMutableString используйте -appendFormat: вместо.
Конечно, в вашем игрушечном примере вы можете сократить его до:
NSString *myString = [NSString stringWithFormat:@"some text = %d", 3];
Однако вполне вероятно, что вам нужно добавить строку формата в существующую строку, созданную в другом месте. В этом случае, особенно если вы добавляете несколько частей, полезно продумать и сбалансировать плюсы и минусы использования изменяемой строки или нескольких неизменяемых автоматически высвобождаемых строк.