UIAlertViewのデリゲート

UIAlertViewはデリゲートのalertViewメソッドを呼ぶ

-(IBAction)tapBtn
{
    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"確認します。"
                          message:@"OKですか?"
                          delegate:self                                    // ここで自分にデリゲート
                          cancelButtonTitle:@"キャンセル"
                          otherButtonTitles:@"OK", nil];
    [alert show];
    [alert release];
}

-(void)
alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex{
    if( buttonIndex == 1 ){
        myLabel.text = @"OK";
    }else{
        myLabel.text = @"キャンセル";
    }
}


alertViewメソッドの文法説明:

-(void)                                       // 戻り値はvoid
alertView : (UIAlertView *)alertView          // メソッド名はalertView, 第1引数の値は変数alertViewに入る,
clickedButtonAtIndex : (NSInteger)buttonIndex // 第2引数の値は変数buttonIndexに入る
{
  // メソッドの内容
}

プロトコル

プロトコルJavaでいうインタフェース的なもの。
delegateプロパティに指定されるクラスは、普通プロトコルを持つ(プログラマが自分で書く)。
今回の場合ではselfにあたるものにプロトコルを書くのだが、参考書籍が書いていないので
そのまま書かないこととした。