2010-05-21 133 views
0

我試圖在此函數調用 時將隨機數添加到此數組的末尾。到目前爲止,我已經縮小了它的範圍。 當我檢查,看看是否有任何數組,它說0. 所以現在我很難住。我在考慮MutableArray在我使用它們之前發佈它的內容。問題是我不知道該用什麼。一個按鈕調用函數,幾乎所有其他的東西都被處理掉了。向數組添加整數

NSMutableArray * choices; 

-(void) doSomething { 

int r = arc4random() % 4; 
//The problem... 
[choices addObject:[NSNumber numberWithInt:r]]; 

int anInt = [[choices objectAtIndex:1] integerValue]; 
NSLog(@"%d", anInt); 
    //I'm getting nothing no matter what I do. 

//some type of loop that goes through the array and displays each element 
//after it gets added 

} 
+0

我環顧四周,我沒有看到它如何不誠實地工作。 – Ohmnastrum 2010-05-21 20:49:43

回答

2

當時選擇過初始化?

... somewhere:choices = [[NSMutableArray alloc] init];

...然後,數組索引從0開始,所以[[colorChoices objectAtIndex:1]在第一次調用doSomething函數時不起作用。

+0

從未做過初始化。感謝提醒^^; 至於從1開始,我認爲它沒有問題,因爲我按了2次以上。 – Ohmnastrum 2010-05-21 20:56:04

0

需要初始化choices

NSMutableArray* choices; 
choices = [[NSMutableArray alloc] init]; 
+0

我試圖像這樣初始化它(在它聲明的同一個文件中)並且出現了幾個錯誤。 – Ohmnastrum 2010-05-21 21:08:34

+0

好吧我在ibAction裏面試過它,它工作。但是如果我想讓陣列堅持整場比賽呢?它不會超出範圍嗎? – Ohmnastrum 2010-05-21 21:10:18

+0

讓它成爲你班級的一個屬性,例如視圖控制器或應用程序委託。然後,您可以在單一方法之外使用它。 – 2010-05-21 21:54:01