HOME » Natsu note » iOS » [Xcode][IB] IBOutletやIBActionをマウス操作で接続

[Xcode][IB] IBOutletやIBActionをマウス操作で接続 2011/08/17/|iOS,

Xcode4からは、IBとXcode(ソースとヘッダ)をマウス操作で接続できるようになりました。この機能は、私のお気に入りのひとつです。かなりの時間短縮に貢献してくれています。

アシスタントエディタを使う

Xcodeでnibファイルを表示したら、アシスタントエディタを使うのがベストです。

アシスタントエディタは、Xcode右上にあるAssistant Editorボタンを押すか、メニューから”View->Assistant Editor->Show Assistant Editor”を選択することで表示可能です。

さらに、表示するファイルを”Automatic”としておきましょう。これで、メインエディタに表示中のnibファイルに対応したヘッダファイルが自動的に表示されます。

Xcode assistant editor

まずはOutletを接続

では、実際にviewの上に新しいボタンを設置してみましょう。ボタンを追加したら、Controlを押しながらボタン上でマウスクリックをします。水色の矢印が出てくるので、この矢印をヘッダに向けて引っ張り、OutletのProperty宣言をしたい場所で離します(以下のスクリーンショットは、アシスタントエディタでエディタを縦分割し、左側にnibファイル、右側に該当するヘッダを表示しています)。


IB Xcode connect outlet

名前や型を指定して”Connect”を押すと完了。ソースとヘッダ両方に必要なコードが追加されます。

IB Xcode connect outlet 2

追加されるコードは、

  • ivar宣言 (.h)
  • @property宣言 (.h)
  • @synthesize (.m)
  • viewDidUnloadでのリリース (.m)
  • deallocでのリリース (.m)

です。

Actionだって接続できる!

ボタンを追加したら、もちろんActionが必要です。このActionもマウス操作で接続が可能です。

まず、ボタンの上で右クリックをするとイベントが表示されます。アクションを起こしたいイベントの+ボタンから矢印をヘッダーに向けて引っ張ります。

IB Xcode connect action

Outletのときと同様に、Action名等を入力し”Connect”を押せば完了。

IB Xcode connect action 2

Action接続時に追加されるコードは、

  • Actionメソッドの宣言 (.h)
  • Actionメソッドの実装(中身は空) (.m)

です。Actionが多い場合、ソースに空のメソッドが自動的に入るのはとても便利です。

必要なコードはすべてここに

これまでの操作で自動的に追加されたコードです。赤で示したのがOutletの追加、青で示したのがActionの追加です。まずはヘッダから。

IB Xcode connect h

ソースはこんな感じになります。viewDidUnloadとdeallocできちんとリリースしてくれるのはありがたいですね。

IB Xcode connect m

後から接続したいとき

すでにヘッダに記述済みのOutletやActionと接続をするのも簡単です。新規追加時と同様の操作で、接続したいOutletやActionの上まで引っ張っていけばOK。青く囲われた内容に間違いがなければマウスを離します。これで接続完了。

IB Xcode reconnect

ここで一点注意しておきたいのは、これらの操作はすべて「接続する」ためのものなので、一度接続したOutletやActionの名前等を変更しても、その変更がnibに適用されるわけではありません。変更時は自分で再接続が必要となります。

Xcode 4になって、この接続操作が可能となり本当に便利になりました。リリース忘れでメモリリークしたり、Actionの実装を追加し忘れてクラッシュしたりすることもありません。至れり尽くせりですね。便利な機能はどんどん活用して開発時間を短縮していきたいものです。