クラス変数とクラスメソッド
Objective-C クラス変数とクラスメソッド
クラス変数とインスタンス変数の違い
- クラス変数はクラスに割り当てられる
- そのクラスを扱うときは変数の値は共通
-
- インスタンスごとに変数の値が異なる
Objective-Cにはクラス変数という考え方はない。
- ただし、.mファイル内にstatic修飾子をつけた変数をクラス変数として扱う
クラスの初期化は+(void)initializeクラスメソッドをオーバーライドして記述
static NSInteger gukei = 0; static NSMutableArray* nameList;
クラスメソッドとインスタンスメソッドの使い分け
- クラスメソッドはインスタンス化しなくても他のクラスから呼び出せる
- インスタンスメソッドはインスタンスを生成して実行出来る
- 基本的にはインスタンスメソッドで実装し、他のクラスから使用されやすい汎用的なクラス(utility等)はクラスメソッド使用する
クラスメソッドは+(void)などのように+をつける