2010-08-10 80 views
3
兩個按鈕

我想表明,當按下一個按鈕,查看警報,所以我寫的代碼如下:UIAlertView中與iPhone

- (IBAction)signUpComplete: (id)sender { 
    UIAlertView* alert_view = [[UIAlertView alloc] 
     initWithTitle: @"test" message: @"test" delegate: nil cancelButtonTitle: @"cancel" otherButtonTitles: @"OK"]; 
    [alert_view show]; 
    [alert_view release]; 
} 

但這個代碼崩潰與在initWithTitle方法以下異常:

2010-08-11 03:03:18.697北極星[1155:207] *** - [的UIButton copyWithZone:]:無法識別的選擇發送到實例0x176af0
2010-08-11 03:03:18.700北極星[1155:207] ***終止應用程序由於未捕獲的異常

0x176af0與參數'sender'的值相同,這是其操作處理程序爲signUpComplete:的按鈕。我認爲問題是otherButtonTitles:參數,因爲它適用於參數nil。所以在創建OK按鈕時遇到問題。 我的代碼有什麼問題嗎?

謝謝!

+0

你能告訴我們你是如何創建按鈕? – 2010-08-10 18:22:22

回答

5

otherButtonTitles清單必須是零終止:

UIAlertView* alert_view = [[UIAlertView alloc] 
     initWithTitle: @"test" message: @"test" delegate: nil 
     cancelButtonTitle: @"cancel" otherButtonTitles: @"OK", nil]; 
+0

非常好。謝謝! – Kay 2010-08-11 03:54:38

+0

@Vladimir點擊確定按鈕後,如何調用方法? – Prashant 2017-12-27 06:33:50

+0

@Prashant,你可以使用alertView:clickedButtonAtIndex:delegate方法,但不是從iOS 9開始不推薦使用UIAlertView,而應該使用UIAlertController而不是 – Vladimir 2017-12-28 04:04:25