Home > Tags > Object-C
Object-C
iPhoneアプリ アラートボックスを表示する。
- 2010-01-17 (日)
- Object-C | iPhone | iPhone SDK 3
AlertBoxAppDelegate.h
#import <UIKit/UIKit.h>
@class AlertBoxViewController;
@interface AlertBoxAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
AlertBoxViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet AlertBoxViewController *viewController;
@end
AlertBoxViewController.h
#import <UIKit/UIKit.h>
@interface AlertBoxViewController : UIViewController {
}
- (IBAction) displayView:(id) sender;
@end
AlertBoxViewController.m
//アラートボックスを表示するdisplayViewメソッド
-(IBAction) displayView:(id) sender{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"アラート画面"
message:@"ボタンを押しました"
delegate:self
cancelButtonTitle:@"閉じる"
otherButtonTitles:nil];
[alert show];
[alert release];
}
後は、InterfaceBuilderで、Alertを表示させるトリガーのボタンと、
File’s OwnerをCtrl+ドラッグで結んで、「displayView」を結びます。
- Comments: 1
- Trackbacks: 0
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
- Comments: 0
- Trackbacks: 0
Home > Tags > Object-C
