下面的代码在行[myArray objectAtIndex:i];
中生成并出错,我似乎无法弄明白为什么?
有什么想法吗?
int total = 0;
for (int i = 0; i < myArray.count; i++) {
int tempNumber = [myArray objectAtIndex:i];
total = total + tempNumber;
}
答案 0 :(得分:6)
可能是因为您正在将对象设置为int。根据定义,objectAtIndex返回一个对象。
根据myArray中对象的类型,你可以尝试这样的事情:
int tempNumber = [[myArray objectAtIndex:i] intValue];
答案 1 :(得分:2)
如果你没有将int
放入你的数组中,那么你需要做一些额外的工作来获得int
。如果你上面的代码出错,那就是因为你的数组中没有int
,你需要
int myInteger = [[myArray objectAtIndex:i] intValue];
或者从数组中获取整数的内容,具体取决于代码的其余部分。