のObjective-Cでは、なぜ我々はObjective-Cでは、オブジェクトのインスタンス変数またはプロパティにデフォルト値が設定されていないのはなぜですか?
@interface Animal : NSObject {
int state = AnimalStateAlive; // a constant which is 1 to indicate alive
int x = 0;
int y = 0;
}
@properties int energyLevel = 100;
を使用することはできませんし、コンパイラはalloc
が起こった直後に、これらの値を入力することができますか?
ので、私たちは一種の0であること、それらの値を当てますが、おそらくより良い、具体的にすることができると思います'init'メソッドでそれを初期化してください –
私たちはivarsが0であると考えています。Appleは明示的に' -init'でそれらを0にするのをやめます。 –
本当に、性能上の理由からAppleはそれを嫌うのですか?私は状態を0から始めることを明示しているので、コードをもう少し明確にしています。 –