2016-02-05 62 views
0

我正在使用UILabel併爲其分配一些字符串值,現在我想在每次單擊UIButton時更新其值。看到我的IBAction代碼。如何在每次點擊UIButton時增加UILabel值?

- (IBAction)IncreasePack:(id)sender { 
    int increseprice = [value intValue]; 
    int updateprice = [price intValue]; 
    NSString *newprice= [NSString stringWithFormat:@"%d", increseprice+updateprice]; 
    _TotalPrice.text = newprice; 
    NSLog(@"newprice %@",newprice); 
} 

當我第一次點擊按鈕時,我的邏輯執行得很好。但是當我再次點擊時,代碼不會執行,但每次點擊時都會打印它。在.h文件中

@property (strong, nonatomic) int labelValue; 

在.m文件

- (void)viewWillAppear{ 
    self.labelValue = 0; 
} 
- (IBAction)buttonClicked:(UIButton *)sender{ 
    self.labelValue++; 
    [self.label setText:[NSString stringWithFormat:@"%d", self.labelValue]]; 
} 
+0

什麼是價值和價格?記錄被執行但先前的代碼不是沒有意義的。第一行的斷點怎麼樣,並檢查每一行的值? –

+0

好吧,先生,我寫錯了邏輯,我認爲我需要重新連接它 –

+0

代碼沒有作出任何邏輯,「價值」和「價格」變量沒有更新任何地方,所以一個人如何期望的東西會自動增加。 – Vizllx

回答

0

試試這個。你的IBAction從increseprice+updateprice計算newprice。如果incresepriceupdateprice不改變,那些值的總和也不會改變。

你需要的是保持當前值的實例變量,當用戶點擊按鈕,你需要增加值添加到先前的值,並更新總

相反,你總是說

newprice =增加價格+更新價格

無處保存新的總數。再次點擊該按鈕,增量價格更新價格也不會改變,所以新價格仍然是相同的值。

+0

它打印相同的值老闆 –

+0

此代碼應該工作。它沒有辦法打印相同的值。 –

0

您的代碼沒有意義:

+0

是的,先生我需要將它添加到一個變量,而不是再次增加值與實例可變。 –

+0

如何在變量中保存一個值,以便當我再次單擊按鈕時,我將能夠將價格添加到之前的值並在uilabel上進行更新。 –

+0

我知道這不是問題是非常普遍的,我問,但我只是從最後一天迷惑它 –

相關問題