在我的应用程序中,当我第一次运行应用程序时,它运行正常。但是当我再次运行2次时,它会崩溃。
这是错误..
NSRangeException',原因:' *** - [__ NSArrayM objectAtIndex:]:索引5超出空数组的界限'
答案 0 :(得分:18)
原因:您正在访问要访问索引处对象的空数组。
替换下面代码中的所有地方
[arrMydata objectAtIndex:indexPath.row];
与
//1. Positive index ([anArray objectAtIndex:-NUMBERS]) will crash
//2. within the array boundary
if([arrMydata count] > 0 && [arrMydata count] > indexPath.row){
shrObj=[arrMydata objectAtIndex:indexPath.row];
}
else{
//Array is empty,handle as you needed
}
**Here You can see the non software example, which will explain this issue. Good luck! **
答案 1 :(得分:3)
您的数组为空,但您正在尝试访问其中的对象。这就是问题所在。
答案 2 :(得分:3)
原因:根据您的日志,您正在尝试访问空数组。只需通过以下代码修复此问题
if (arrMydata.count > inxexPath.row)
sharObj = [arrMydata objectAtIndex:indexPath.row]
答案 3 :(得分:0)
如果这对某人有帮助:就我而言,该数组不在代码中,而是一个IB插座,该插座是故事板上的5个UIImageViews数组。
@IBOutlet var upAndDownArrowImages:[UIImageView]!
崩溃的原因是我错误地从情节提要中删除了其中的UIImageViews之一。
答案 4 :(得分:0)
就我而言,它heightForRowAt indexpath
崩溃了,请检查此方法是否可以顺利运行。
希望它可以帮助某人。