Home > iPhone SDK 3 Archive
iPhone SDK 3 Archive
Object-C 基礎の基礎のメモ。クラス宣言
- 2010-01-15 (金)
- Object-C | iPhone SDK 3
「Macを買うなら…」でおなじみの、秋葉館オンラインショップ
もちろん話題のiPodも本体を含め関連商品充実!
![]()
動かしながら、やってればそのうち覚えるだろうと、はじめたものの、
見たことないObject-Cという言語に、口がカラカラになるほど、
狼狽してしまった時のメモです。
書式が大分違いますが、Object-Cも、オブジェクト指向で、
ActionScript3.0と、概念とかやってることは同じなので、
書式説明を見ると、精神的ダメージを解消できました。
#import <stdio.h>
#import <objc/Object.h>
//クラス宣言 @interfaceコンパイラディレクティブ
@interface test : Object
- (void)method;
@end
// クラスを宣言から定義 @implementation コンパイラディレクティブ
@implementation test
- (void)method {
printf("Hello, World!");
}
@end
//クラスのインスタンス化
int main() {
id obj = [test alloc];
[obj method];
return 0;
}
クラスを宣言するコンパイラディレクティブ
@interface クラス名 : 親クラス名
{
インスタンス変数宣言
…
}
メソッド宣言
@end
メソッド宣言
- (戻り値型) メソッド名 : 仮引数リスト … ;
- + クラスメソッド: オブジェクトではなくクラスに関連するメソッドの宣言。
- - インスタンスメソッド:メソッドがクラスの実体であるオブジェクトする。
インスタンス化
alloc メソッドは、インスタンスを生成するためのクラスメソッド
[クラス名 メソッド名:引数リスト...]
- メソッドを呼び出すための [ ] をメッセージ式
その他
- id 型 :オブジェクトを表す汎用型(void型みたいな物らしい)
- .hファイル・・・クラス自体のほかに、メンバ変数、メソッド、プロパティの宣言
- .mファイルには、クラスの実装コードを記述
- Comments: 1
- Trackbacks: 0
iPhoneアプリ UINavigationControllerを使用した、ナビゲーションUIのメモ。その1
- 2010-01-10 (日)
- Object-C | iPhone | iPhone SDK 3
「Macを買うなら…」でおなじみの、秋葉館オンラインショップ
もちろん話題のiPodも本体を含め関連商品充実!
![]()

UiKitフレームワークに含まれている、UINavigationControllerを使用した、
ナビゲーションUIについての私的メモです。InterfaceBuilderなどでの設定の説明は省いてます。
UINavigationControllerクラス
NSObject
|
+–UIResponder
|
+–UIViewController
|
+–UINavigationController
1. UINavigationControllerクラスとは
オブジェクトの階層の外観を管理する、ナビゲーションバーのための特殊なコントローラ。アプリケーションに提供されたビューコントローラを使用して、ナビゲーションバーの設定やビューを描画することが可能。各ビューコントローラは、ナビゲーションバーのナビゲーションアイテムを持っています。
2. UINavigationCotrollerのナビゲーションでの働き
- UINavigationControllerオブジェクトは複数のUIViewCotrollerオブジェクトを保持していて、そのオブジェクトの画面遷移を管理。
- UINavigationControllerオブジェクトが保持しているUIViewオブジェクトと、ナビゲーションを合成したものを表示。
- そのUIViewオブジェクトを、Windowオブジェクトの子ビューとすることで、ナビゲーションバーを含む画面が表示される。
実装サンプル
NavigationSampleAppDelegateクラスに、UINavigationControllerのメンバ変数と、プロパティ宣言を追記。
//NavigationSampleAppDelegate.h
@interface NavigationSampleAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@end
NavigationSampleAppDelegate.mに、実装ディレクティブを追加。
UINavigationControllerのビューをウインドウに追加して、deallocメソッドにも追記。
// NavigationSampleAppDelegate.m
#import "NavigationSampleAppDelegate.h"
@implementation NavigationSampleAppDelegate
@synthesize window;
@synthesize navigationController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
- (void)dealloc {
[navigationController release];
[window release];
[super dealloc];
}
これで、画面遷移を制御するコントローラーの下地の追加が完了しました。
InterfaceBuilderで、MainWindow.xibのUINavigationControllerを編集
InterfaceBuilder上で、NavigationControllerで制御したいコントローラーを、Libraryから選択して、xibを編集し、ビルドすると、下記の例ようになります。

次回は、スタートページと、遷移先ページ、遷移イベントの実装などについて、メモして行きたいと思います!

【関連記事】
iPhoneアプリ開発の環境構築
iPhoneアプリ HelloWorld
- iPhoneアプリ HelloWorld その1
- iPhoneアプリ HelloWorld その2 ViewController
- iPhoneアプリ HelloWorld その3 ViewControllerの実装
- Comments: 0
- Trackbacks: 0
iPhoneアプリ HelloWorld その3 ViewControllerの実装
- 2010-01-09 (土)
- iPhone | iPhone SDK 3
前回の、iPhoneアプリ HelloWorld その2 ViewControllerで追加したViewControllerに、イベントを実装していきます。
Clickボタンをタップすると、「Hello, World!」と、表示されるイベントを実装していきます。
1. 初期状態で、ラベルの「Hello, World!」を非表示にします
「HelloWorldViewController.h」をクリックして、ソースを表示します。

下記のように、messageメンバ変数を記述します。
//
// HelloWorldViewController.h
// HelloWorld
//
// Created by あらびき林檎 on 10/01/07.
// Copyright 2010 Splitchin All rights reserved.
//
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
IBOutlet UILabel *messsage;
}
@end
保存したら、「HelloWorldViewController.m」を開きます。
「viewDidLoad」メソッドが、下記のようにコメントアウトされています。
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
*/
コメントアウトを外して、下記のように処理を追記します
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
[messsage setHidden:YES];
}
これで、XIBファイルを読み込んだ後の、追加処理の記述をしました。
次に、messageメンバ変数と、XIBファイルをリンクさせます。
「HelloWorldeView.xib」をクリックして、ウインドを開いたら、
File’s Owneから、Lableまで、Ctrlを押しながら、ドラッグします。
Outletの「message」を選択します。
これで、HelloWorldViewControllerクラスのmessageメンバ変数と、
XIBファイルの、Labelのテキスト「Hello, World!」がリンクしました。
2. イベントハンドラの実装
「Click」ボタンをタップしたときの、イベント処理を実装します。
「HelloWorldViewController.h」を選択して、ソースを表示します。
そして、以下のように、IBActionを記述します。
//
// HelloWorldViewController.h
// HelloWorld
//
// Created by あらびき林檎 on 10/01/07.
// Copyright 2010 Splitchin All rights reserved.
//
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
IBOutlet UILabel *messsage;
}
-(IBAction)actionButtonTapped:(id)sender;
@end
次に、「HelloWorldViewController.m」を選択して、ソースを表示します。
以下のように、IBActionで、messageを表示するように設定します。
- (void)dealloc {
[super dealloc];
}
- (IBAction)actionButtonTapped:(id)sender{
[messsage setHidden:NO];
}
@end
「HelloWorldView.xib」を開いて、ボタンとイベントハンドラをリンクさせます。
「View」を開いて、「Rounded Rect Button」(Clickボタンを実装したUIパーツ)から、
Ctrlを押しながら、File’s Ownerにドラッグして、Eventsから「actionButtonTapped」
を選択します。

ビルドして実行
保存したら、「ビルドして実行」します。

「Click」ボタンを押すと、「Hello, World!」と表示される、
iPhoneアプリが完成しました!
【関連記事】
iPhoneアプリ開発の環境構築
iPhoneアプリ HelloWorld
- Comments: 0
- Trackbacks: 0
Home > iPhone SDK 3 Archive
