iPhoneプログラム基本からのおさらい その1「Hello! World!」

picxpic

iPhoneアプリとiPadアプリを10本リリースした後でなんですが、未だにあまりiPhoneプログラミングを理解したとはいいがたい状態の私です。

これではイカン!と思ったので、これから基本的なプログラムをちょいちょい作ることで、
基本的なことからおさらいをしてみようと思います。

その第1弾としては、やはり「Hello! World!」以外にはないでしょう。

ということで作ってみました。

Hello_WorldAppDelegate.h

[c]
/*
アプリケーション起動時と終了時に実行されるクラスだよ
*/

// ユーザーインターフェースのフレームワークを読み込み
#import <UIKit/UIKit.h>

// 他の場所にあるクラスを使用するため、クラスとして宣言
@class Hello_WorldViewController;

// Hello_WorldAppDelegateクラスの宣言
@interface Hello_WorldAppDelegate : NSObject <UIApplicationDelegate> {

/*
<UIApplicationDelegate>はプロコトルといて読みこんでいる。
プロコトルとは、メソッドの宣言だけの継承のこと。
つまり、実装は自分でする必要がある。
*/

// インスタンス変数宣言
// インスタンス変数の型がクラスオブジェクト型(紫色)の場合、
// 宣言で変数名のアタマに*をつける。
UIWindow *window;
Hello_WorldViewController *viewController;
int pokemon;
}

// アクセッサー
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet Hello_WorldViewController *viewController;

@end
[/c]

Hello_WorldAppDelegate.m
[c]
// 自分のヘッダーファイルを読み込み
// また、ヘッダーで宣言したクラスのヘッダーファイルも読み込み
#import "Hello_WorldAppDelegate.h"
#import "Hello_WorldViewController.h"

@implementation Hello_WorldAppDelegate

// アクセッサー
@synthesize window;
@synthesize viewController;

#pragma mark –
#pragma mark Application lifecycle

// アプリケーションが起動したら実行
– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

// Add the view controller’s view to the window and display.
// ヘッダーで指定したHello_WorldViewController型のインスタンス変数をサブビューとして指定
[self.window addSubview:viewController.view];

// サブビューを可視化する
[self.window makeKeyAndVisible];

return YES;
}

// アプリケーションがアクティブでなくなる直前に実行 1
– (void)applicationWillResignActive:(UIApplication *)application {
}

// アプリケーションがアクティブでなくなる直前に実行 2
– (void)applicationDidEnterBackground:(UIApplication *)application {
}

// アプリケーションが復帰した直後 1
– (void)applicationWillEnterForeground:(UIApplication *)application {
}

// アプリケーションが復帰した直後 2
– (void)applicationDidBecomeActive:(UIApplication *)application {
}

// なんじゃこりゃ
– (void)applicationWillTerminate:(UIApplication *)application {
}

#pragma mark –
#pragma mark Memory management

– (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}

// メモリ解放
– (void)dealloc {
[viewController release];
[window release];
[super dealloc];
}

@end
[/c]

Hello_WorldViewController.h
[c]
// メインのビュークラス

// ユーザーインターフェースのフレームワークを読み込み
#import <UIKit/UIKit.h>

// UIViewControllerクラスを継承したビュークラス
@interface Hello_WorldViewController : UIViewController {

// アウトレットとして使用するインスタンス変数
IBOutlet UILabel *hello;
}

// プロパティ
@property (nonatomic,retain) IBOutlet UILabel *hello;

// アクション
– (IBAction) onHello;
– (IBAction) offHello;
– (IBAction) iyan;

@end
[/c]

Hello_WorldViewController.m
[c]
#import "Hello_WorldViewController.h"

@implementation Hello_WorldViewController;

@synthesize hello;

– (void) onHello {
self.hello.text = @"Hello! World!";
}

– (void) offHello {
self.hello.text = @"";
}

– (void) iyan {
self.hello.text = @"いやんばかん";
}

/*

// ビュー読み込み時に実行
// nibを使わないときはこちらを使用
– (void)loadView {
}
*/

/*
// ビュー読み込み時に実行
// nibを使うときはこちらを使用
– (void)viewDidLoad {
[super viewDidLoad];
}
*/

/*
//横向きアプリや、傾きを固定したりするときに
– (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

//メモリーがなんかえらいことになったら実行
– (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}

// ビュー消去時に実行
– (void)viewDidUnload {
}

// メモリ解放
– (void)dealloc {
[super dealloc];
}

@end
[/c]

記事URLをコピーしました