我有一個幫助類,我想顯示一個UIAlertView,然後將執行一些Web服務操作。我想這樣做,所以我可以在其他地方重新使用警報視圖。NSObject擴展UIAlertViewDelegate崩潰?
我聲明它像這樣:
@interface FBLinkHelper : NSObject <UIAlertViewDelegate>
我也有將顯示警報視圖的方法:
- (void) showLinkDialog {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Link account with Facebook?" message:@"Linking your account with Facebook extends your user experience. Link account?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[av show];
}
這是怎麼了顯示的對話框:
FBLinkHelper *fbLinkHelper = [[FBLinkHelper alloc] init];
[fbLinkHelper showLinkDialog];
對我來說,這一切看起來都很正常。它顯示了警報視圖對話框,但是當我點擊一個按鈕(任何一個)時,我的應用程序在控制檯中沒有多少內容會崩潰。我注意到只有崩潰時,我有一個UIAlertViewDelegate方法,如didDismissWithButtonIndex。這是爲什麼發生?
試過了,沒有運氣。點擊任一按鈕時同樣崩潰。我注意到如果我沒有設置委託,它不會*崩潰,但顯然這會在這裏失敗。 – Keller
有趣的是有沒有崩潰時產生任何類型的堆棧跟蹤? – diatrevolo
沒有用。在main.m中崩潰,EXC_BAD_ACCESS – Keller