我有一個UITextView的是例如長度爲380個字符:如何在UITextView中刪除單個字符
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可能不會響應...
謝謝,這看起來很完美的簡單。還有一個問題:我怎樣才能得到什麼被切斷了我的字符串?即如果我有「...這是一個例子」,並得到「...這是一個」到newString,我怎麼能得到「example」到deletedString? – 2011-05-20 13:41:39
'[myString substringFromIndex:range.location]'獲取另一半;) – deanWombourne 2011-05-20 13:52:04
謝謝!此外,我只是試過這個,但它崩潰了我的應用程序...: - [NSCFString subStringToIndex:]:無法識別選擇發送到實例0x4b69c30? xCode給我的警告:NSString可能不會響應substringto和fromindex ...我更新了我的代碼,所以你可以看到我做了什麼 – 2011-05-20 13:55:10