下面的代码生成错误
数组元素不能为零
当我在aryResult[0]
NSMutableArray *tempResult = [[NSMutableArray alloc] initWithCapacity:2];
switch (habitObj.NoOfTimesPer)
{
case 1://NO_OF_TIMES_PER_DAY
{
tempResult = [self getTotalNoOfDaysOrWeeks_createdDate:habitObj.strCreatedDt totalsOf:@"TOTAL_DAYS"];
}
break;
case 2://NO_OF_TIMES_PER_WEEK
{
tempResult = [self getTotalNoOfDaysOrWeeks_createdDate:habitObj.strCreatedDt totalsOf:@"TOTAL_WEEKS"];
}
break;
default:
break;
}
aryResult[0] = tempResult[0];
aryResult[3] = tempResult[1];
以下代码不会产生错误:
[tempResult addObject:[NSNumber numberWithInt:0]];
[tempResult addObject:[NSNumber numberWithInt:1]];
aryResult[0] = tempResult[0];
aryResult[3] = tempResult[1];
答案 0 :(得分:0)
你的方法
[self getTotalNoOfDaysOrWeeks_createdDate:habitObj.strCreatedDt totalsOf:@"TOTAL_DAYS"];
返回nil
,因此tempResult
在nil
语句中分配后变为switch
。
致电tempResult[0]
是[tempResult objectAtIndex:0]
的简写。它返回nil
,因为在Objective-C中,一个名为nil
对象的方法总是返回nil
。然后,您尝试将nil
对象添加到NSMutableArray
,这是不允许的,因此应用程序崩溃。