[英]Using @synthesize in ios Application
我在iOSU開發的iTunesU課程中觀看精彩的Paul Haggerty(因為誰不需要刷新基礎知識?)他說了一些我不知道的事情:
“我們永遠不會訪問下划線(_符號)變量”
然后他繼續討論如何使用@synthesize variable = _variable
聲明變量,@ @synthesize variable = _variable
是由編譯器在幕后生成的代碼,以及setter和getter。 基本上,代碼永遠不會出現在您的應用程序中。
在我迄今寫我的所有的iOS應用程式,我總是使用聲明我的變量@property
在我的頭文件和@synthesize VARIABLE_NAME = _VARIABLE_NAME;
自從觀看演講以來,我現在很困惑我是否應該在代碼中使用@synthesize
。
我應該只使用財產聲明嗎? 如果我在代碼中使用合成聲明,它有什么區別(如果有的話)?
既然Haggerty先生不使用它,那我為什么呢? (考慮到他是一個iOS半神)。 我非常覺得做我一直在做的事情是不好的形式。
有人關心澄清這個問題嗎?
Xcode 4.0 Developer Preview 4發行說明。 添加默認的屬性自動合成(iOS和64位OS X)。 在實現部分中不需要@synthesize
指令,編譯器可以為聲明的屬性合成訪問器。
所以
@synthesize ivar = _ivar;
如果你省略它是完全相同的。
不再需要合成。 這也包含在今年的WWDC會議中。 只需使用屬性。
不包括“@synthesize VARIABLE_NAME = _VARIABLE_NAME”將完全像您實際包含它一樣,因為如果您不添加任何內容,編譯器將自動添加它。
使用Xcode 4.5或更高版本。 IDE為您編寫@synthesize
語句。
@synthesize
語句只為您編寫setter
和getter
。
那個, _variable_name
是即時變量。
variable_name
只是一個默認返回_variable_name
值的方法。
使用variable = <Statement or value>. its calling the
variable = <Statement or value>. its calling the
setVarable_Name method to set the
默認method to set the
_variable_name`。
希望它有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.