Navigation Barの戻るボタンのタイトルを変える

ナビゲーションバーの左側に出す、前の画面に戻るボタン、デフォルトでは前画面のView Controllerのタイトルがボタンのラベルとして使われる。
これを別のものに変えようと思った。


UINavigationBarクラスのリファレンスに、NavigationItemのbackBarButtonItemプロパティに自分でアイテムを設定するとそれが表示されるよーと書いてあるので、自作のViewControllerサブクラスで次のようにしてみた。

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"戻る"
                                                                             style:UIBarButtonItemStyleDone
                                                                            target:self
                                                                            action:@selector(popViewController)];
}

- (void)popViewController
{
    [self.navigationController popViewControllerAnimated:YES];
}


戻るボタンに好きなタイトルを設定するため、UIBarButtonItemのinitWithTitleでボタンを作成する。
引数にtargetやactionというのがあって、ボタンが押されたときtargetに対してセレクタactionが実行されるとのことだったので、ボタンが押されたら前の画面に戻るようViewControllerのスタックをpopするようにしておく。


しかし、いろいろ試してみてたら、actionに渡しているpopViewControllerが呼ばれていないことがわかった。popViewControllerをactionに指定しなくても、ボタンを押したら前の画面に戻る。
こちらの記事 http://d.hatena.ne.jp/KishikawaKatsumi/20091120/1258679168 によれば、targetやactionは設定しても無視される、とのこと。
ドキュメントへのリンクも張ってあるけど、ドキュメントが更新されたみたいでその記述は見当たらない…


わざわざleftBarButtonItemとは別にbackBarButtonItemを用意してあるくらいだから、前の画面に戻るためだけに使うものなのは当たり前でしょ、てとこか。
忘れてまたはまりそうなのでメモっておく。