iPhoneアプリ開発の第1歩となるサンプルです。UIButtonとUILabelを使います。
AppleのデベロッパサイトにはiPhoneアプリケーションチュートリアルがあって、翻訳もされていますね。
http://developer.apple.com/jp/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/chapter_1_section_1.html
がしかし、チュートリアルのわりには内容が濃すぎて、気力体力の限界を感じる人が多いのではないでしょうか。
そこで今回は、ステップを可能な限りそぎ落とした、最小のアプリケーションを作りましょう。
Xcodeを起動し、


新規プロジェクト...からWindow-Based Applicationを選びます。

プロジェクト名はHelloMiniにしましょう。
まず最初に、GUIのデザインをやりましょう。

MainWindow.xibをダブルクリックすると、インターフェースビルダーが起動します。
ボタンとラベルを配置していきます。

ライブラリパネルでボタンを探して、Windowまでドラッグ&ドロップします。
パネルの下の検索窓にbuttonなどと入力すると絞り込み検索してくれるのですばやく見つけられます。
パネルにあるように、このボタンha
通称Round Rect Button、クラス名はUIButtonです。
そしてラベルを配置します。

通称Label、クラス名はUILabel。

こんな感じで適当に並べてください。ラベルの幅は広めにしておきましょう。
さてここで、下のようなオブジェクトの関係図をかいてみてください。ぜひ手描きをおすすめします。

ボタンが押されると- push:メッセージがHelloMiniAppDelegateに送られ、
つまり- push:メソッドが実行され、ラベルの内容を書き換えるしかけを作ろうというわけです。
次にする作業は、この関係図にある2つの矢印をつくることです。
それにはまず、Xcodeに戻って、HelloMiniAppDelegate.hを次のようにします。
#import <UIKit/UIKit.h>
@interface HelloMiniAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UILabel *label;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UILabel *label;
- (IBAction)push:(id)sender;
@end
追加したのは3行あって、
UILabel *label;
@property (nonatomic, retain) IBOutlet UILabel *label;
- (IBAction)push:(id)sender;
この3つです。最初の2つがラベルについての設定で、最後のやつがボタンが送るメッセージについてのものです。
以上の変更を保存してから、インターフェースビルダーに行きましょう。
ctrlキーを押しながら、ボタンからドラッグし、HelloMiniAppDelegateの上で離します。

すると次のように黒い小窓が出てくるので、

push:をクリックしてください。これでボタンからの接続ができました。
次はラベルです。今度は矢印の向きが逆でした。ctrlキーを押しながらHelloMiniAppDelegateからドラッグし、ラベルの上で離してください。

そうするとまた黒小窓が出ますので、

labelをクリックしてください。これでラベルへの接続ができました。保存して、Xcodeに戻りましょう。
HelloMiniAppDelegate.mのほうを、次のようにしてください。
#import "HelloMiniAppDelegate.h"
@implementation HelloMiniAppDelegate
@synthesize window;
@synthesize label;
- (IBAction)push:(id)sender {
label.text = @"Hello!";
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window makeKeyAndVisible];
}
- (void)dealloc {
[label release];
[window release];
[super dealloc];
}
@end
追加したのは、
@synthesize label;
- (IBAction)push:(id)sender {
label.text = @"Hello!";
}
[label release];
の3つです。さてビルド&実行してみてください。

これはシミュレータですが、ボタンをクリックするとHello!と表示されます。
うまくいきましたかー? おつかれさまでした。