最近碰到一個(gè)BUG,出現(xiàn)頻率比較高,線上版本經(jīng)常出現(xiàn)NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds的奔潰,bugly上只有奔潰記錄,沒有任何其他信息,入下圖
1
經(jīng)過反復(fù)排查測(cè)試,發(fā)現(xiàn)使用YYTextView的輸入框,在輸入中文并長(zhǎng)按文本某處插入文字后發(fā)送了這段文字后,再次點(diǎn)擊輸入框進(jìn)行輸入將奔潰。查詢了YYText的issue,發(fā)現(xiàn)確實(shí)有很多人出現(xiàn)這種奔潰,后來發(fā)現(xiàn)是發(fā)送后將YYTextView.text設(shè)置成空字符串,但是selectedRange并沒有置空,導(dǎo)致下次輸入會(huì)奔潰。
解決方案:
在YYTextView.text設(shè)置成空字符串后
self.inputTextView.selectedRange = NSMakeRange(0,0);
初次寫文章,多多包涵^_^