2014-10-01 38 views
0
-(void)Aray 
{ 
    NSMutableArray *ColorArray = [[NSMutableArray alloc] init]; 
    if(Counter < NewColor) 
    { 
     [ColorArray addObject:[NSNumber numberWithInteger:ColorTemp]]; 

     Counter += 1; 
    } 
} 

-(IBAction)Go:(id)sender 
{ 
    NSMutableArray *ColorArray = [[NSMutableArray alloc] init]; 

    Color = [[ColorArray objectAtIndex:Index] intValue]; 

    if(Color == 2) 
    { 

     ColorLabel.text = @"The Color is Black"; 
     Screen.image = [UIImage imageNamed:@"BlackTile.png"]; 
    } 
    else 
    { 
     Screen.image = [UIImage imageNamed:@"Tunnel.png"]; 
     ColorLabel.text = @"The Color is Green"; 
    } 
    Index += 1; 
} 

-(IBAction)Black:(id)sender 
{ 
    ColorTemp = 2; 
    NewColor += 1; 
    [self Array]; 
} 

-(IBAction)Green:(id)sender 
{ 
    ColorTemp = 1; 
    NewColor += 1; 
    [self Array]; 
} 
+1

哪個點崩潰等等等等等等等等 – Woodstock 2014-10-01 10:44:43

+0

2014-10-02 01:09:49.694測試[49737:60b] ***由於未捕獲異常'NSRangeException',原因:'*** - [__ NSArrayM objectAtIndex:]:索引0超出空數組的邊界' – PleaseHelp 2014-10-01 18:11:58

回答

1

的問題是,ColorArray需要是一個實例變量(或@property)被訪問,以便它仍然存在的方法調用的外部

此代碼將總是崩潰,不管Index值:

NSMutableArray *ColorArray = [[NSMutableArray alloc] init]; 

Color = [[ColorArray objectAtIndex:Index] intValue]; 

Color似乎已經是一個實例變量(或@property),所以這個概念不應該是外星人給你。

備註:變量通常以小寫字母開頭並使用camal-case命名。

+0

非常感謝您的指導。老實說,我是一個新手,大約三個星期前開始學習編程。所以我的基礎仍然很混亂。 – PleaseHelp 2014-10-01 16:38:33

+0

我做了一些研究,仍然困惑如何將數組作爲一個實例變量。請幫助..非常感謝 – PleaseHelp 2014-10-01 18:50:15