2013-02-10 70 views
0

我已經做這的UIAlertView第二個按鈕是應該將比分重置爲0。UIAlertView中ClickedButtonAtIndex不會救整數

這裏是我的UIAlertView中代碼:

- (IBAction)showActionSheetReset:(id)sender 
{ 
    UIAlertView *resetAlertView = [[UIAlertView alloc] initWithTitle:@"Delete And Reset Score" 
                 message:@"Are You sure You Want To Reset The Score Shown on the Engligh Page? This WILL NOT affect your High Score on Game Center." 
                 delegate:self 
               cancelButtonTitle:@"No, Don't Erase" 
               otherButtonTitles:@"Yes, Reset Score", nil]; 

    [resetAlertView show]; 
    resetAlertView.tag = 2; 
} 

- (void)alertViewReset:(UIAlertView *)alertViewReset clickedButtonAtIndex:  (NSInteger)buttonIndex 
{ 
    if (alertViewReset.tag == 2) { 
     if (buttonIndex == 1) { 
      [self resetTheScore]; 

     } 
    } 
} 

這裏是我的resetTheScore方法:

- (IBAction)resetTheScore 
{ 
    self.currentScore = 0; 
    currentScoreLabel.text = [NSString stringWithFormat:@"%lld", self.currentScore]; 
    [self counterDefaults:self]; 
} 

,這裏是我的counterDefaults方法:

- (IBAction)counterDefaults:(id)sender 
{ 
    NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults]; 
    [Defaults setInteger:self.currentScore forKey:TapCount]; 
    [Defaults synchronize]; 
} 

爲什麼不把它保存?

+0

我想知道這是怎麼編譯缺少的結束引號... – 2013-02-10 20:31:12

+0

什麼缺失報價 – imackid 2013-02-11 00:53:47

回答

0

UIAlertViewDelegate方法被稱爲alertView:clickedButtonAtIndex:而不是alertViewReset:clickedButtonAtIndex:

你的功能alertViewReset:clickedButtonAtIndex:不會被調用。改正名稱,它應該沒問題。

+0

記住:斷點是你的朋友。 如果您希望自己的代碼執行某些操作,請輸入斷點並查看它是否確實會觸發您的代碼。其次,如果您的斷點被擊中,使用調試區域來檢查變量的期望值。 (或者你可以放置'NSLog()'語句來輸出日誌中的變量)。 – 2013-02-10 20:59:42

+0

它確實這樣說 – imackid 2013-02-11 00:53:08

相關問題