私は C# 開発から来て、Objective-C と Xcode 4 の学習を始めたばかりです。私が理解している限り、値をチェック/制御する必要がない場合、「@synthesize」はプロパティの getter/setter メソッドを置き換えています。読んだり書いたりしています。
しかし、なぜ Xcode 4 は自動的にインスタンス変数を作成するのでしょうか?
これで十分ではないでしょうか:
@synthesize myProperty;
それ以外の:
@synthesize myProperty = _myProperty;
?
ゲッターやセッターがない/必要ないのに、実際のプロパティの代わりにインスタンス変数を使用/したいのはなぜですか?
前もって感謝します!
メンフィズ
編集:
@synthesize がゲッター/セッターを置き換えていることは理解していますが、この部分は何に適しています= _myProperty;
か? 「myProperty」を直接使用できるのに、なぜインスタンス変数が必要になるのでしょうか? たとえば、セッターが値の状態をチェックする場合は、「_myProperty」を使用することを理解できます。このチェックをスキップしたい場合は、_myProperty を使用します。しかし、@synthesize を使用しているため、何らかのチェックを行うセッターが配置されていません。では、なぜインスタンス変数を持っている/欲しいのでしょうか?
答え:
MattyG の投稿のコメントを参照してください。