-->

获取异常“NSRangeException”(Getting Exception 'NSRa

2019-09-16 11:13发布

我正在为例外substringWithRange:范围在下面的方法。

我有编辑禁用的TextView。

我使用文本框只对文本选择。 当我选择文本冷杉时间也不例外,但是当我按下了第二次它得来。

例外: 'NSRangeException',原因是: '* - [NSCFString substringWithRange:]:范围或索引超出范围'。

- (void)textViewDidChangeSelection:(UITextView *)textView {

NSRange range = [tv selectedRange];
str = [tv.text substringWithRange:range];
}

Answer 1:

我检查你的榜样。 有时候你检索一个未定义的范围像(2147483647,0)。 因此,检查它,以避免崩溃:

- (void)textViewDidChangeSelection:(UITextView *)textView {
    NSRange range = [textView selectedRange];
    if(range.length == 0 || range.location > textView.text.length)
        return;

    NSString *str = [textView.text substringWithRange:range];
}


文章来源: Getting Exception 'NSRangeException'