Добавить "%" к постоянно меняющейся строке

У меня есть NSSlider и NSLabel, Когда значение ползунка изменяется, он меняет текст метки на новое значение. Моя проблема в том, что я хочу получить "%" в конце, но всякий раз, когда я пытаюсь изменить свой код, возникает ошибка.

Вот мой код:

int sliderValue = [_opacSlider intValue];
NSString *stringValue = [NSString stringWithFormat:@"%i",sliderValue];
[_opacLabel setStringValue:stringValue];

Я попытался сделать это:

[_opacLabel setStringValue:(stringValue, @"%")];

Но тогда метка не меняется и остается "%".

Есть идеи, почему это не работает и что я должен изменить?

1 ответ

Решение

Поскольку stringWithFormat: метод интерпретирует % в качестве специального символа, вы должны использовать %% напечатать один %:

int sliderValue = [_opacSlider intValue];
NSString *stringValue = [NSString stringWithFormat:@"%i%%",sliderValue];
//                                                     ^^
[_opacLabel setStringValue:stringValue];
Другие вопросы по тегам