簡體   English   中英

關於iOS6 +中的@synthesize

[英]Regarding @synthesize in iOS6+

例如:

//Myclass.h
@property(nonatomic, strong) NSString *name;

//MyClass.m
//@synthesize name = _name

所以我知道我們不再需要在iOS6 +中使用@synthesize 編譯器會自動為我創建getter和setter。

  1. 但是我不明白是什么時候使用self.name = @"Testing"以及什么時候使用_name = @"Testing"

  2. 應該使用_name = @"Testing"嗎?

  3. 如果是,什么時候? 什么時候應該使用iVAR?

  4. 另外,如果我想編寫自己的getter和setter,我是否需要寫@synthesize還是可以只編寫我的getter和setter?

謝謝你的幫助!

通常,只在init方法,getter和setter以及dealloc中使用實例變量。 當然也有例外,但這是一個很好的經驗法則。

如果您既編寫自己的getter setter(或者在編寫只讀屬性的情況下編寫getter),則必須自己合成屬性。 在所有其他情況下,該屬性是自動合成的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM