一、问题
在textviewdidchange方法中,修改text
例如:
- (void)textViewDidChange:(UITextView *)textView
{
if (textView.text.length >= INPUT_LENGTH)
{
textView.text = [textView.text substringToIndex:INPUT_LENGTH];
}
}
然后在textview中输入文字,在接近限定长度时,崩溃。
二、部分崩溃信息:
Terminating app due to uncaught exception 'NSRangeException', reason: 'NSMutableRLEArray replaceObjectsInRange:withObject:length:: Out of bounds'
三、解决方法:
- (void)textViewDidChange:(UITextView *)textView
{
if (textView.markedTextRange == nil && textView.text.length >= INPUT_LENGTH)
{
textView.text = [textView.text substringToIndex:INPUT_LENGTH];
}
}
五、参考资料
http://stackoverflow.com/questions/19948394/textviewdidchange-crashes-in-ios-7