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は分かっていてもひとつくらい忘れてしまったりするので、
注意が必要ですよね!
明日から仕事の人多いですよね。
お互いがんばりましょう!