0

下面的代码在行中产生和错误,[myArray objectAtIndex:i];我似乎无法弄清楚为什么?

有任何想法吗?

int total = 0;
    for (int i = 0; i < myArray.count; i++) {
        int tempNumber = [myArray objectAtIndex:i];
        total = total + tempNumber;
    }
4

2 回答 2

6

这可能是因为您将对象设置为 int。根据定义,objectAtIndex 返回一个对象。

根据 myArray 中对象的类型,您可以尝试如下操作:

int tempNumber = [[myArray objectAtIndex:i] intValue];
于 2012-07-09T18:52:22.197 回答
2

如果您没有将ints 放入数组中,那么您需要做一些额外的事情才能将ints 取出。如果您在上面的代码中遇到错误,那是因为数组中没有ints,您需要

int myInteger = [[myArray objectAtIndex:i] intValue];

或者从数组中取出整数的东西,这取决于你的代码的其余部分。

于 2012-07-09T18:52:10.047 回答