IBActionとIBOutlet 分かるようで分からないこのふたつ | demicadeのブログ

demicadeのブログ

iPhoneアプリ開発素人のメモ的なブログです。

IBActionとIBOutlet 分かるようで分からないこのふたつについてです。

●考え方
いろいろ勉強してみて、一番分かりやすかった考え方を書きます。

IBAction 部品 → プログラム
IBOutlet プログラム → 部品

部品とはViewやButtonのパーツ(object)です。
それぞれに部品→プログラム、プログラム→部品とデータ等を伝えるときに使う。
という感じです。
漠然としていますが、今はこれだけでなんとかなっています(笑)
どうかご参考に!


●実装方法
★IBActionはわりと簡単ですよね。

(.h)
- (IBAction)doStart:(id)sender;
(.m)
-(IBAction)doStart:(id)sender
{
}

これはなんの問題もない。


★ややこしいのはIBOutletです。

IBOutletは①~⑤までの操作が必要です。
①メンバ変数に宣言(.h)
  @interface ViewController : UIViewController

  {
  UIButton *startButton; // スタートボタン
  }
② property宣言(.h)
  @property (nonatomic, retain) IBOutlet UIButton *startButton;
③ synthesize(.m)
  @synthesize startButton;
④ dealloc(.m)
  ※最近deallocは使わない方向なのかな?っと勝手に判断していますので、
  これはどちらでもいいのではと思います。
  - (void)dealloc
  {
  [startButton release];
  }
⑤ viewDidUnload(.m)
  - (void)viewDidUnload
  {
  [startButton release];
  }

特にIBOutletは分かっていてもひとつくらい忘れてしまったりするので、
注意が必要ですよね!


明日から仕事の人多いですよね。
お互いがんばりましょう!