簡體   English   中英

在ios應用程序中使用@synthesize

[英]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語句只為您編寫settergetter

那個, _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.

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