iOS7 UITextViewDidChange - crashes

来源:互联网 发布:java的集成开发环境 编辑:程序博客网 时间:2024/06/09 22:00

一、问题

在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

0 0