У меня есть UITextView длиной, например, 380 символов:
NSLog(@"aTextView.text lenght %i", aTextView.text.length);
Теперь я хочу просмотреть этот текст (в обратном порядке, символ за символом) и удалить все символы, которые стоят перед последним пробелом.(например, если последние слова были "... это пример", то нужно уменьшить строку до "... это":
for (int i = aTextView.text.length-1; i > 0; i--) {
NSString *checkedChar = [NSString stringWithFormat:@"%c", [aTextView.text characterAtIndex:i]];
NSLog(@"I currently check: %@", checkedChar);
if ([checkedChar isEqualToString:@" "]) {
// job done
i = 0; // this ends the loop
} else {
Мне нужно что-то вроде [aTextView.text removeCharacterAtIndex: i];
}
}
Как мне добиться этого? Я не могу найти какие-либо методы в документации и буду очень благодарен за предложения.
РЕДАКТИРОВАТЬ:
NSString *myString = aTextView.text;
NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch];
NSString *oldText = [myString subStringToIndex:range.location];
NSString *newText = [myString subStringFromIndex:range.location];
NSLog(@"++++ OLD TEXT ++++: %@", oldText);
NSLog(@"++++ NEW TEXT ++++: %@", newText);
aTextView.text = oldText;
Это приводит к сбою моего приложения ... Я звоню с - (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)aRange replacementText:(NSString *)aText
Я получаю сообщение об ошибке: * Завершение приложенияиз-за необработанного исключения «NSInvalidArgumentException», причина: '- [NSCFString subStringToIndex:]: нераспознанный селектор, отправленный экземпляру 0x4e33850'
И xCode выдает мне предупреждение, которое subStringToIndex может не отвечать ...