可能重複:
Properties and Instance Variables in Objective-C 2.0是否必須將屬性聲明爲Objective C中的實例變量?
如果我創建一個頭文件和@synthesize它@property,一切似乎做工精細,即使該項目是不是也聲明作爲一個實例變量。那麼爲什麼我所看到的所有示例代碼都將declare items聲明爲屬性和實例變量?
可能重複:
Properties and Instance Variables in Objective-C 2.0是否必須將屬性聲明爲Objective C中的實例變量?
如果我創建一個頭文件和@synthesize它@property,一切似乎做工精細,即使該項目是不是也聲明作爲一個實例變量。那麼爲什麼我所看到的所有示例代碼都將declare items聲明爲屬性和實例變量?
在Objective-C 2.0 @property
命令將自動爲您生成實例變量。這是一個快捷鍵,用於限制您必須編寫的重複代碼的數量。
只有申報伊娃的,如果:
@private
,那麼子類將被強制使用您的@synthesized
訪問器方法。)@synthesize myProperty = myInstanceVariable_
注意:如果您打算在舊設備上運行代碼或使用舊版本進行編譯,則需要聲明iVar。
不,你沒有。 但自動生成的方法將嘗試訪問實例變量,因此您必須爲已添加的屬性實現setter和getter。
與下列鏈接查看Vladimirs評論:如果你還沒有這樣做 Properties and Instance Variables in Objective-C 2.0
謝謝!對不起,如果這個問題是重複的。我首先搜索了。 – 2011-02-16 15:38:29