2012-08-01 67 views
1

對於目標c來說,這是非常新的東西,並且剛剛開始編寫我的第一部分代碼,因此請在您的回覆中對我輕柔一些。IBAction在另一個IBAction上執行操作

我決定嘗試做一個飛鏢計算器,因爲它本質上是一個簡單的減法機器,所以我第一次嘗試編程。

在我看來,或者Controller.h文件我有以下幾點:

-(IBAction)subtractOne:(id)sender; 

和viewController.m

-(IBAction)subtractOne:(id)sender 

{ 
    accumulator -= 1; 
    calculatorScreen.text = [NSString stringWithFormat:@"%i", accumulator];  
} 

我已經設置這些爲全部二十兩次得分按鈕,並已成功地讓所有工作正常。

但是我現在的困難來自雙倍和高音按鈕。我需要一個 - (IBAction)將nextButtonPressed乘以2或3,但我不確定如何繼續此操作。

我不是要求你爲我寫代碼,但如果你能指點我的方式,我會怎麼做,這將不勝感激。

在此先感謝。

回答

0
-(IBAction) tripleMultiplier:(id)sender; 

-(IBAction) tripleMultiplier:(id)sender { 
    // Activate the triple multipler if it is inactive, otherwise deactivate it. 
    tripleMultiplier = !tripleMultiplier; 
} 

而在其他IBACtions

-(IBAction) subtractOne:(id)sender { 
    // If the tripleMultipler is active: 
    accumulator -= (tripleMultipler ? 1 : 3); 
    calculatorScreen.text = [NSString stringWithFormat:@"%i", accumulator];  
} 
+0

喜邁克爾,感謝您的快速反應。我假定第一個IBAction在頭文件中,第二個在主文件中,第三個代碼嵌入到我已經寫好的代碼中。它是否正確?我已經試過這個,並不斷收到錯誤說未聲明的標識tripleMultiplier!有什麼建議嗎?再次感謝。 – 2012-08-01 13:32:04

+0

@AlanBurnell在你的頭文件中需要'BOOL tripleMultiplier',然後在你的實現的'init'中,'tripleMultiplier = NO'來初始化它。 – 2012-08-01 19:35:54