Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用substringWithRange时发生nsrange异常:NSMakeRange_Ios_Nsstring_Nsrangeexception - Fatal编程技术网

Ios 使用substringWithRange时发生nsrange异常:NSMakeRange

Ios 使用substringWithRange时发生nsrange异常:NSMakeRange,ios,nsstring,nsrangeexception,Ios,Nsstring,Nsrangeexception,我有一个奇怪的错误,我不明白。我看了其他的问题,我发现NSMakeRange是锚,是要穿越的距离。此语句会导致NSRangeException,但会出现越界错误: if([myCompare characterAtIndex:([myCompare length]-7) == 'N']) { [myTemp appendString:[myCompare substringWithRange:NSMakeRange(0,([myCompare length]-7)

我有一个奇怪的错误,我不明白。我看了其他的问题,我发现NSMakeRange是锚,是要穿越的距离。此语句会导致NSRangeException,但会出现越界错误:

    if([myCompare characterAtIndex:([myCompare length]-7) == 'N'])
    {
        [myTemp appendString:[myCompare substringWithRange:NSMakeRange(0,([myCompare length]-7))]];
    }
在这种情况下,我不明白它怎么会超出范围,因为我总是从NSString的长度中减去7,并使其超出范围


这可能是一个愚蠢的错误,但我希望用另一双眼睛来找出导致我的nsrange异常的原因。

试试这个,你把“]”放错地方了


如果myCompare的长度小于7个字符,它将超出范围。是的,我在发布这篇文章后不久就明白了这一点。我不得不暂时离开键盘。我的情况是,我从来没有在7岁以下通过考试,但突然间我通过了。非常感谢!那只是一双呆滞的眼睛。
if([myCompare length] >= 7 && [myCompare characterAtIndex:([myCompare length]-7)] == 'N')
{
}