在使用textView这个控件时候需要有时候会出现越界的提示如下:
requesting caretRectForPosition: while the NSTextStorage has oustanding changes{520,4}
对于这个报错我发现自己的code对字数的限制并没有问题,而且断点无法跟到具体的越界位置,代理方法都走完了之后才出现问题,并且把所有的代理方法都给注释掉了以后发现还是有这个exception,这就说明和textView的这个控件的代理当法没有关系,于是乎想到应该是在code的其他的地方做了一些的设置使的出现了越界,因为一般出现越界的情况都是某个变量的越界,只要找到这个变量就能解决问题。
于是我就找了code中所有与textView这个控件相关的code。最终找到了原因所在,这个问题是出现在我回收键盘的时候,使用的方法不当所致
我所使用的是以下这个函数(错误的方法):
func scrollViewDidScroll(scrollView: UIScrollView) {
} 使用以下这个方法回收键盘就不会出现越界的问题(正确的方法):textView.resignFirstResponder()
func scrollViewWillBeginDragging(scrollView: UIScrollView) {textView.resignFirstResponder() }