UIAlertView を表示したいヘルパー クラスがあり、Web サービス アクションを実行します。他の場所でアラートビューを再利用できるように、このようにしたいと思います。
私はそれを次のように宣言しています:
@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];
私にはすべてがかなり正常に思えます。アラート ビュー ダイアログが表示されますが、ボタン (いずれか 1 つ) をクリックすると、コンソールに何も表示されずにアプリがクラッシュします。didDismissWithButtonIndex などの UIAlertViewDelegate メソッドを配置した場合にのみクラッシュすることに気付きました。なぜこうなった?