我有一个帮助类,我想显示一个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