Этот код просто возвращает последний символ строки и не удаляет его:
NSString *newString = [oldString substringToIndex:[oldString length]-1];
вы можете использовать это вместо удаления последнего символа и сохранения оставшихся значенийстрока:
str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];
, а также использование substringToIndex для строки NSS с длиной 0 приведет к сбоям.
вы должны добавить проверку передсделав так, как это:
if ([str length] > 0) {
str = [str substringToIndex:[s length] - 1];
}
с этим, безопасно использовать метод подстроки.
ПРИМЕЧАНИЕ: Apple отклонит ваше приложение, если оно уязвимо для сбоев.