に続いての.h
@property (nonatomic) NSString *yourMom;
でNOのsynthesizeを持っていません! viewdidloadの直接アクセス:
_yourMom = @"Sally";
これは合成せずに動作します。どうして?
に続いての.h
@property (nonatomic) NSString *yourMom;
でNOのsynthesizeを持っていません! viewdidloadの直接アクセス:
_yourMom = @"Sally";
これは合成せずに動作します。どうして?
Objective-C @propertiesは、明示的に実装されていない場合、デフォルトで合成されます。
特に指定しない限り、合成インスタンス変数はプロパティと同じ名前ですが、接頭辞はアンダースコアです。たとえば、firstNameというプロパティの場合、合成されたインスタンス変数は_firstNameと呼ばれます。
アップルのdocumentをお読みください。それはあなたが必要とする包括的な情報を持っています。
このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 14919331) –
@JanChrbolkaあなたのお薦めいただきありがとうございます。私はちょうど私の答えを編集しています:) –
@martinlee質問のこの種の答えを別々に答えを更新しないでください。 –
'_yourMom'は自動的にコンパイラによって合成されますが、あなたはそれをカスタム化することができます。 – Tj3n
Ah。自動合成されます。おかげで嬉しいですTj3n – GeneCode
[Objective-cではどのような条件で@synthesizeが自動実行されますか?](http://stackoverflow.com/questions/9368676/under-what-conditions-is-synthesize-automatic-in- objective-c) – NobodyNada