获取异常'NSRangeException'
Posted
技术标签:
【中文标题】获取异常\'NSRangeException\'【英文标题】:Getting Exception 'NSRangeException'获取异常'NSRangeException' 【发布时间】:2012-04-11 10:30:37 【问题描述】:我在下面的方法中得到了 substringWithRange:range 的异常。
我正在使用禁用编辑的文本视图。
我仅将文本字段用于文本选择。 当我第一次选择文本时也不例外,但是当我第二次按下它时。
例外: 'NSRangeException',原因:'* -[NSCFString substringWithRange:]:范围或索引超出范围'。
- (void)textViewDidChangeSelection:(UITextView *)textView
NSRange range = [tv selectedRange];
str = [tv.text substringWithRange:range];
【问题讨论】:
【参考方案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];
【讨论】:
以上是关于获取异常'NSRangeException'的主要内容,如果未能解决你的问题,请参考以下文章