UIAlertViewの表示 | iPhoneアプリ備忘録でアラートビューについて書いた。
この時はひとつの画面でひとつのアラートだったのでよかったが、複数のアラートを使い分けるときに困った。
アラートを表示するのは良いが、それを受けるほうが、どのアラートから来たか知らせる方法がよくわからなかった。
参考にさせて頂いたサイト。
複数のUIAlertViewでdelegateを使い分ける – しゃの
とりあえず、tagを使うらしい。
#import "ViewController.h" @interface ViewController ()//<UIAlertViewDelegate> #pragma mark - アラートビュー //アラートを作るときにタグを設定 UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"タイトル" message:@"メッセージ" delegate:self cancelButtonTitle:@"キャンセル" otherButtonTitles:@"ボタン1",@"ボタン2", nil]; alert1.tag = 1;//ここでタグを付ける [alert1 show]; 〜〜 UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"タイトル" message:@"メッセージ" delegate:self cancelButtonTitle:@"キャンセル" otherButtonTitles: nil]; alert2.tag = 2;//ここでタグを付ける [alert2 show]; 〜〜 - (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { //タグをチェック if (alertView.tag == 1) { 処理.... }else if (alertView.tag == 2) { 処理.... }
アラートを作った時の変数のタグが、デリゲーションメソッドのタグに引き継がれるのでそれで判別するようです。