最近碰到一个BUG,出现频率比较高,线上版本经常出现NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds的奔溃,bugly上只有奔溃记录,没有任何其他信息,入下图
经过反复排查测试,发现使用YYTextView的输入框,在输入中文并长按文本某处插入文字后发送了这段文字后,再次点击输入框进行输入将奔溃。查询了YYText的issue,发现确实有很多人出现这种奔溃,后来发现是发送后将YYTextView.text设置成空字符串,但是selectedRange并没有置空,导致下次输入会奔溃。
解决方案:
在YYTextView.text设置成空字符串后
self.inputTextView.selectedRange = NSMakeRange(0,0);
初次写文章,多多包涵^_^