本文介绍了***由于未捕获的异常'NSRangeException'而终止应用程序,原因:'***-[__ NSArrayM objectAtIndex:]:索引5超出范围[0 .. 4]'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我得到 *由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*
我没有得到确切的位置问题,请对此提供帮助
I am not getting where is exact issue please help me on this
- (NSMutableArray*) arrayAtPointIndex:(NSInteger) index {
NSMutableArray * array = [[NSMutableArray alloc] init];
if ( series )
{
for (int plotIndex = 0; plotIndex <= [_points count]; plotIndex++) {
SALChartCoordinate * coord1 = [_points objectAtIndex:plotIndex];
CGFloat differ = abs( [[coord1.series objectAtIndex:index] floatValue] );
[array addObject:[NSNumber numberWithFloat:differ]];
}
}
if ( [array count] > 0 )
return [array autorelease];
[array release];
return nil;
}
推荐答案
最可能的位置是: [coord1.series objectAtIndex:index]
因为您没有检查NSArray系列的大小和plotIndex。
Because you are not checking that NSArray series size and plotIndex.
设置类似这样的条件
if(coord1.series.count-1 <= index)
{
CGFloat differ = abs( [[coord1.series objectAtIndex:plotIndex] floatValue] );
[array addObject:[NSNumber numberWithFloat:differ]];
}
注意:您正在访问数组和内部数组具有相同的索引。不能肯定地说,但这表明存在一些逻辑问题。所以检查一下。
NOTE: You are accessing array and inner array with same index. It can not be said for sure but this is indicating some logic problem. So check for that.
这篇关于***由于未捕获的异常'NSRangeException'而终止应用程序,原因:'***-[__ NSArrayM objectAtIndex:]:索引5超出范围[0 .. 4]'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!