------------- APPDelegate(標準メソッド等以外の設定先)の例----------------------
#import
@interface Web_blowserAppDelegate : NSObject
{
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
-(IBAction) loadUrl: (UITextField *) sender;
@end
------------------------------------------------------------
解 説
------------------------------------------------------------
★ #import <ヘッダファイル>
他のヘッダを含めて実装する宣言です。C言語では#includeとなりますが、Objective-Cでは#importとし、多重定義を自動で回避してくれるそうです。
-------------------------------------------------------------
★ クラス宣言
@interface @endで囲んで宣言します。
@interface クラス名:スーパークラス<プロトコル1, プロトコル2, ............>
{
インスタンス変数宣言
}
メソッドプロトタイプ宣言
@end
------------------------------------
★ インスタンス変数(フィールド、データメンバ、メンバ変数、属性<呼び方いろいろありすぎ(@@;;>)宣言
型名 変数名;
型には以下のようなものがあります。
・整数型
・実数型
・文字列型
・クラスオブジェクト型(オブジェクトを保持する変数<ポインタ>)
UIWindow *window;
クラスオブジェクト型のUIWindow型の変数(Window)を宣言する場合は上記のようにポインタで宣言します。
-------------------------------------------------------------
★ メソッドプロトタイプ宣言
クラスに対するメソッド(クラスメソッド<インスタンスを生成するメソッド、クラス全体に対する情報取得のメソッド(画像フォーマット等))の場合は”+”、インスタンスに対するメソッドの場合は"ー"を先頭にを書くそうです。
(1)引数<メソッドに渡す値>のないメソッドの場合
-(void) sayHello;
-(返り値の型) メソッド名;
(2)引数<メソッドに渡す値>が一つのメソッドの場合
-(void) sayMessage: (char *) message;
-(返り値の型) メソッド名: (引数の型) 引数の名前;
(3)引数<メソッドに渡す値>が複数のメソッドの場合
-(void) sayMessage: (char *) message
speed:(int ) speed
pitch: (int ) pitch;
-(返り値の型) メソッド名+引数1の説明: (引数1の型) 引数1の名前
引数2の説明: (引数2の型) 引数2の名前
:
引数nの説明: (引数nの型) 引数nの名前;
*)引数の説明は省略化
----------------------------------------------------------------------------------------
この事例では、UITextField * でURLの入力を拾い受け渡すメソッドを定義しています。
返り値にIBActionを指定することで、Interface BuilderのGUIを使ってアクションを結びつけることができます。ファイルを「保存」したあと(でないとできません)、UITextFied のDid End On Exit という入力完了アクションを、Inspectorウインドウ上のApp Deligateにドラックすることで、関係をつけることができます。
-------------------------------------------------------------
参考:
NSObject:
iPhone OSのクラスのほぼ全てのルートクラス(トップのクラス)だそうです。
参考:
NSObject:
iPhone OSのクラスのほぼ全てのルートクラス(トップのクラス)だそうです。
0 件のコメント:
コメントを投稿