つるながの綴り方

ITインフラ系のネタやTips、趣味としているカーライフなどを中心に日頃メモしておきたいことをしたためています。

複数のUIAlertViewのデリゲートのバッティングを避ける

UIAlertviewを複数個作って、それぞれ[self delegate]をやると、アクションがバッティングするため、tagを設定し、tagで処理を分ける。

//アラート画面のタグを宣言
static const NSInteger loginAlertTag = 1;
static const NSInteger logoutAlertTag = 2;
…

//アラートを作るときにタグを設定
    UIAlertView *alert = [[UIAlertView alloc] init];
    alert.tag = loginAlertTag;
...

    alert.tag = logoutAlertTag;
...

//アラートのデリゲーションメソッドの中で
- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
	//タグをチェック
	if (alertView.tag == logoutAlertTag)  {
		処理....
	}else if (alertView.tag == loginAlertTag)  {
		処理....