swift textView出现越界的exception

在使用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()
}


猜你喜欢

转载自blog.csdn.net/qq_37269542/article/details/71602049