次のようなコードが表示されます。
@synthesize dataController = _dataController;
ビューコントローラーでのこれの目的は何ですか?
次のようなコードが表示されます。
@synthesize dataController = _dataController;
ビューコントローラーでのこれの目的は何ですか?
クラスが値を保存する必要がある場合、このデータを保存するためのメモリ内の場所が必要です。インスタンス変数は、クラスが必要とするデータ用にメモリを予約します。
int
文字列または変数の場所を追加するとします。インスタンス変数を使用して、オブジェクトの存続期間中そのメモリを予約できます。各オブジェクトは、その変数に対して一意のメモリを受け取ります。
それは C によく似ていstruct
ます:
struct t_something {
int a; int b;
};
はstruct
2 つのフィールド (a と b) を宣言します。各値は読み取りと書き込みが可能で、struct
そのフィールドを保持するのに十分な大きさです。
ここには大量の情報があります: iPhoneivarの命名規則
覚えておくべきもう1つのこと:
クラスのプロパティの代わりにインスタンス変数を使用すると、通常は自動的に発生するプロパティ実装の副作用(保持、コピーなど)が回避されます。
これは、バイパスしたいカスタムプロパティの実装を作成した場合に特に重要になる可能性があります。
データへの高速アクセスに使用します。プロパティには「self」と記述する必要があります。以前は、vars はありません。