■テキストとサンプルコードのダウンロードはこちら <用語を覚えよう> アプリ1つに必要なソースやリソースの集合体 ●ビューコントロラー 画面を管理するクラス。この1クラスに対し、ヘッダー、ソース、Xibファイル(ない場合もある)で成立する。 ● クラス 変数やメソッドを持つひとかたまりのもの。画面を管理するクラスはビューコンローラーとなる。 例えば、ラウンドレクトボタンは、UIButtonというアップルで用意されたクラスである。 クラスは、処理の目的別に存在すると考える。 ※親クラス(スーパークラス) 機能や性質を受け継ぐクラスを作りたいときに指定する。 ※「クラスのオブジェクトを持つ」とは 別のクラスのオブジェクトを変数で持つこと。 ●インスタンス クラス自体は設計図のようなもの。そのクラスがメモリに確保されたとき、それをインスタンスという。 クラスをメモリに確保することを、インスタンス化する、という。 インスタンスは、オブジェクトともいう。 クラスがインスタンス化されなくても、クラスオブジェクトというオブジェクトがある。 クラスオブジェクトは、クラスをメモリに確保しなくてもメソッドからの利用が可能である。 ●オブジェクト(変数や機能をもったもの) クラスのインスタンスがオブジェクト。Objective-Cにおいてはクラスオブジェクトもオブジェクトという。 「*」をつけて変数宣言するものはオブジェクト。つけないものはオブジェクトではない。 「*」は、機能をもった変数などの前にふる。逆にいえばオブジェクトなら「*」をつけなければならない。 ●変数 型と名前で宣言されるもの。宣言されれば、変数名がソースで使われる。 例:UIlabel*が 型名。aLabelが変数名。宣言の仕方が、UILabel *aLabel; ●メンバ変数 ヘッダファイルにおいて、クラスの定義の時にクラスの持つ変数として定義されたもの。 ※メンバでない変数は、メソッドの中で一時的にとられた変数(ローカル変数)。 メンバ変数はそのクラス内だけで共通の変数として使われる。 ●アクセサ 変数のゲッターとセッターをあわせてアクセサという。 ゲッターは変数の値を参照するメソッド。 セッターは変数の値を変更するメソッド。 その2つのあわせ技を宣言するやり方として ヘッダに@プロパティ @property(nonatomic, retain) IBOutlet UILabel *aLabel; ソースに@シンセサイズ @synthesize aLabel; の記述を行う。 アクセサをつけることにより、他のクラス(例:UIビルダー)からも使えるようになる。 特にIBOutletを使うときはマストで行う。 ※IBAcitonで不要なのは、変数ではなくメソッドだから。 ●メソッド ひとつの処理の単位。SDKに入っているものを使うか、自分でdoCameraのように作成する。 複数のメソッドや変数が集まったものがクラスで、クラスがインスタンス化されたものがオブジェクト。 ●クラスメソッド インスタンス化する必要ののないメソッド。クラス名に対してメッセージを送るという形をとる。 ●メソッドの宣言(ヘッダに書く) -か+ではじまり、最初に(返り値の型)、そのあとにメソッド名:をふり、最後に引数をもってくる。 例1)引数が無いとき -(void)doSepia; 例2)引数が1つのとき -(IBAction)doCamera:(id)sender; 例3)引数が2つのとき -(NSInteger)doadd:(NSInteger)param1:(NSInteger)param2; -(返り値の型)メソッド名:インスタンスメソッド ・・・メモリ上に展開しないと使えない +(返り値の型)メソッド名:クラスメソッド ・・・インスタンス化せずに使える ●引数 メソッドが呼ばれたときに、そのメソッドに受け渡される変数のこと。 具体的な数値やオブジェクトがやってくる。 ●メソッドの実装(ソースに書く) -か+ではじまり、最初に(返り値の型)、そのあとにメソッド名:をふり、最後に引数をもってくる。 ヘッダの宣言と同じ要領だが、「;」ではなく{処理のプログラム}で終わる。 ヘッダに書いた宣言は必ず同じように書く。 例1)引数が無いとき -(void)doSepia{} 例2)引数が1つのとき -(IBAction)doCamera:(id)sender{} 例3)引数が2つのとき -(NSInteger)doadd:(NSInteger)param1:(NSInteger)param{} ● メッセージ メソッドを呼び出すこと。Objective-Cでは、オブジェクトにメッセージを送るという構文で記述する。 例) [self toSepia]; 自分自身にtoSepiaというメッセージを送っている。 ● デリゲート 他のオブジェクトに自分が持つメソッドを呼んでもらうこと。 やり方は、 1.ヘッダにて、<>の中に「呼び出したい他のクラス名+Delegate」 例:UIImagePickerControllerDelegate 2.ソースにて指定されたメソッドを記述 例:- (void)imagePickerController: (UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {省略} 3.オブジェクトにデリゲートとして自分を指定する。 例:[ipc setDelegate:self]; ● イベント 画面のタッチ操作などが行われたという情報のこと。 IBActionでトリガーとなるのは、イベントである。 ==講義録== ※注意事項:著作権およびライセンスについて 本ウェブサイトに掲載されているコンテンツおよびテキスト、サンプルコードの著作権は RainbowApps および ジークラウド株式会社帰属します。受講生以外、本テキストおよびサンプルコードを許可なく利用することはできません。不正に入手し利用しているのを発見した場合は弊社までご連絡ください。 |










