[英]Regarding @synthesize in iOS6+
例如:
//Myclass.h
@property(nonatomic, strong) NSString *name;
//MyClass.m
//@synthesize name = _name
所以我知道我們不再需要在iOS6 +中使用@synthesize
。 編譯器會自動為我創建getter和setter。
但是我不明白是什么時候使用self.name = @"Testing"
以及什么時候使用_name = @"Testing"
?
應該使用_name = @"Testing"
嗎?
如果是,什么時候? 什么時候應該使用iVAR?
另外,如果我想編寫自己的getter和setter,我是否需要寫@synthesize
還是可以只編寫我的getter和setter?
謝謝你的幫助!
通常,只在init方法,getter和setter以及dealloc中使用實例變量。 當然也有例外,但這是一個很好的經驗法則。
如果您既編寫自己的getter 和 setter(或者在編寫只讀屬性的情況下編寫getter),則必須自己合成屬性。 在所有其他情況下,該屬性是自動合成的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.