В моем коде Objective-C я хотел бы получить значение NSString, перебирать буквы, суммировать значения ASCII букв и возвращать их пользователю (предпочтительно также как и NSString).Как преобразовать NSString в NSInteger с суммой значений ASCII?
Я уже написал цикл, но я не знаю, как получить значение ASCII для отдельного символа. Что мне не хватает?
- (NSString*) getAsciiSum: (NSString*) input {
NSInteger sum = 0;
for (NSInteger index=0; index<input.length; index++) {
sum = sum + (NSInteger)[input characterAtIndex:index];
}
return [NSString stringWithFormat: @"%@", sum];
}
Примечание: Я видел подобные вопросы, связанные с получением значений ASCII, но все они в конечном итоге отображает значение в виде строки. Я до сих пор не знаю, как получить значение ASCII как NSInteger.
И что скажет ошибка? – Larme
Невозможно воспроизвести проблему, работает нормально. Единственное, что формат, вероятно, должен быть '% ld'instead'% @ '. – luk2302
@ luk2302 прав. Просто измените код с помощью: [NSString stringWithFormat: @ "% ld", (long) sum]; –