【发布时间】:2012-03-25 12:31:12
【问题描述】:
我正在尝试创建一个最初用零填充的 NSMutableArray。随着时间的推移,数组元素会发生变化,我想对它们求和。以下代码说明了我遇到的两个问题。首先, NSLog 的输出应该给我一串零,但事实并非如此。即使我没有对数组做任何事情,我也会得到如下输出:
array[] = 14794004, 0, 0, 0, 1, 0, 0, 0, 0
array[] = 63, 30, 80828660, 80792872, 0, 80828564, 7478, 78955136, 1
NSLog 行只是为了确认数组的内容。那么为什么数组元素不为零,为什么它们会自发改变呢?一旦我解决了第一个问题,我如何对数组元素求和?提前致谢。
NSMutableArray *array;
int arraySum = 0;
array = [NSMutableArray arrayWithObjects: 0,0,0,0,0,0,0,0,0,nil];
NSLog(@"array[] = %i, %i, %i, %i, %i, %i, %i, %i, %i", array[0], array[1], array[2], array[3], array[4], array[5]), array[6], array[7], array[8];
for (int i = 0; i < 9; i++) {
arraySum = arraySum + array[i]; //Gives error: Invalid operands to binary + (have 'int' and 'struct NSMutableArry')
} //Isn't array[i] just one element and in this case a number?
NSLog(@"arraySum = %i", arraySum);
【问题讨论】:
标签: objective-c nsmutablearray