- AppDelegate.h
- AppDelegateクラスのヘッダファイル
- AppDelegate.m
- AppDelegateクラスの実装ファイル
- ViewController.h
- ViewControllerクラスのヘッダファイル
- ViewController.m
- ViewControllerクラスの実装ファイル
が作られる。
プロジェクトを作成する際に「Class Prefix」を入力するとそれがクラス名の接頭辞になってファイルが作成される。
-
AppDelegateクラス
-
アプリが起動した直後や停止/復帰の際の処理を書くところ
-
ViewControllerクラス
-
画面のタップなどのイベント処理を書くところ
-
ストーリーボード
#import <フレームワーク/ファイル>
#import ソースファイル
@interface クラス名 : スーパークラス名 <プロトコル>
{
インスタンス変数宣言;
}
プロパティ変数宣言;
メソッド宣言;
@end
#import
- フレームワークや他のソースファイルを読み込む
- Cでいうところの
#include
やJavaのimport
と同じようなもの @interface
〜@end
- クラス定義をしているところ
- スーパークラス
- 親クラス、継承元クラス
- プロトコル
- Javaでいうinterfaceの実装(implements)と同様でイベント処理等を書く時に使うもの。
- インスタンス変数
- インスタンス変数はインスタンス内で使える変数。
- protectedメンバ変数のようなもの。
- プロパティ変数
@property (属性) データ型 プロパティ名
という書式- プロパティ変数は、クラス外からアクセスできる変数。
- publicメンバ変数のようなもの。
- setterおよびgetterがコンパイル時に自動生成される。
- 属性はP.105の
NOTE
欄を参照 - メソッド宣言
+ (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...;
という書式- (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...;
という書式- 先頭の
+
はクラスメソッド、-
はインスタンスメソッド
#import ヘッダファイル
@interface クラス名 () <プロトコル>
{
インスタンス変数宣言;
}
プロパティ変数宣言;
メソッド宣言;
@end
@implementation クラス名
メソッド定義;
@end
@interface
〜最初の@end
- クラスエクステンション
- クラス内だけで使うプロパティやメソッド等を書ける
- いわゆるprivateなメンバ変数やメソッドの宣言に使う
- このファイル以外から宣言されたクラスからはアクセスできない
- 使わない(必要ない)場合は省略できる
@impletentation
〜2個目の@end
- メソッド定義(動作)を書く
- (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...
{
処理
return 返値;
}
という書式