Bar Button Itemに上に配置したボタンに登録したはずのボタンイベントが、タッチしても動かなかったので調べました。
現象
ビルドは正常に成功。
タップしたときに呼ばれるはずの処理が呼ばれない。
シミュレーターで「追加」をタップすると、addメソッドが呼ばれるはずなのに…
ブレークポイントを設定してみたところ、やっぱり入ってこない。
原因
接続元が間違っていた。
Bar Button Itemに接続(緑の状態)してしまっていたせい。
Bar Button Itemの配下にある「ボタン」のほうに接続(赤の状態)すればできる。
解決法
Bar Button Itemで右クリック(またはctrl+クリック)で黒い画面を表示させる。
Sent Actionsに追加された接続を「×」を押して削除する。
ボタンのほうで右クリック(またはctrl+クリック)で黒い画面を表示させる。
Sent EventsのTouch Up Insideの右の○を、接続したいメソッドへドラッグ&ドロップする。
ビルドしてシミュレーターで確認してみてください。呼ばれるようになっているはずです。
予防法
Bar Button Itemを選択している状態の表現と、
ボタンを選択している状態の表現が違うので、目で見て気をつける。
・Bar Button Itemのときは角丸なしの四角形で選択状態
・ボタンのときは角丸の四角形で選択される
リストから接続すると確実。
ストーリーボードからボタンを選択したいときは、ダブルクリック(ゆっくり2回クリックでもできた)すれば、Bar Button Itemじゃなくてボタンのほうを選択できる。