2014-02-27 44 views
2

我正在嘗試構建一個按鈕計算器。因此,用戶按下標記爲「0」的按鈕,文本框顯示0.我遇到的挑戰是當用戶按下兩次按鈕(「00」)或按1然後按0(「10 「)在文本框中顯示連接字符串

我爲每個數字按鈕設置了一個事件。我的想法是有一個名爲runAnswer的通用變量來存儲拼接答案的運行計數。然後我有一個按鈕字符串和一個「持有人」字符串,因爲我不能在runningAnswer字符串中添加按鈕字符串。

我遇到的問題是我必須啓動持有人字符串。我可以通過我的方法讓文本框顯示「0」,但是每次按下它時,runningAnswer只是存儲第一個「0」,因爲持有者字符串正在重新設置。

我很抱歉,如果這是一個非常簡單的問題。我只是覺得如何構建這種應用程序真的很失落。

- (IBAction)btn0:(id)sender { 
    NSString* zero [email protected]"0"; 
    NSString* holder= @""; 
    runningAnswer=[holder stringByAppendingString:zero]; 
    self.txtResult.text = runningAnswer; 

回答

0

您必須聲明你的函數

NSString *holder = @""; 

外面和你的函數內部

holder = [holder stringByAppendingString:zero]; 
self.txtResult.text = holder; 
+0

這就是我想太多,但在零值的方法之外的結果宣佈它,當我踏進去。我不明白爲什麼這是... –

+0

@MichelleFarley當我在方法之外說,我的意思是:在你的類中聲明變量,並將它初始化到其他地方(例如,在'init'方法中) – Merlevede

0

擺脫持有人,只是做

runningAnswer = [runningAnswer stringByAppendingString:zero]; 

並確保運行的答案被初始化在初始化,如:

- (id)init 
{ 
    self = [super init]; 
    if (self) { 
    runningAnswer = @""; 
    } 
    return self; 
}