我試圖創建一個NSMutableArray最初零填充。隨着時間的推移,數組元素將會改變,我想對它們進行求和。下面的代碼演示了我遇到的兩個問題。首先,從NSLog的輸出應該給我一串零,但它不。即使我什麼都不做數組,我得到的輸出,如:的Objective-C:0的歸檔一個NSMutableArray,並總結其內容
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);
作爲新於C和Objective-C,這是很難保持兩連勝。謝謝。 – user1290817 2012-03-25 19:09:00
很高興我能幫到你。別擔心,你會習慣的。順便說一句,如果這個答案對你有幫助,隨時點擊對號並將其標記爲你問題的選定答案。 – dandan78 2012-03-26 07:56:01
這個答案是正確的它被賦予的時候,但對於下標支持已經在此期間被添加。由於Xcode 4.5可以做'array [n]'。作爲獎勵,'@(0)'現在可用作'[NSNumber numberWithInt:0]'的一個不太冗長的替代品。 – Janosch 2014-06-06 13:30:58