jubilee

Programing, Books and more...

プロパティやインスタンス変数を宣言する場所

記述方法は3つある。
見やすさから言えばヘッダーファイルにあるといいが、ドキュメントを読むと2. 3. が推奨されているっぽい。

  1. ヘッダーファイル
  2. 実装ファイル:クラスエクステンション内
  3. 実装ファイル:@implementation

1. ヘッダーファイル

ヘッダー内に記述する。とくにグローバルでなければ非推奨。

sampleClass.h
1
2
3
4
@interface SampleClass : NSObject
{
@property (nonatomic) NSString *name;
}

2. 実装ファイル:クラスエクステンション内

実装ファイルにクラスエクステンションを作成し、そこに記述。

sampleClass.m
1
2
3
4
5
6
7
8
9
10
11
@interface SampleClass ()
// クラスエクステンション内に記述する
@property (nonatomic) NSString *name;
@end

@implementation SampleClass
+ (id)init
{
    メソッドの実装
}
@end

3. 実装ファイル:@implementation

@implementation内に{}を記述し、その中に書く。

sampleClass.m
1
2
3
4
5
6
7
8
9
10
11
12
@implementation SampleClass
{
// {}を記述し、その中に記述する
@property (nonatomic) NSString *name;
}

// メソッドの実装
+ (id)init
{
...
}
@end