2012-12-05 98 views
0

我剛開始閱讀通過蘋果的Object-c開發人員手冊。我在玩物業。我聲明瞭具有兩個屬性的類接口:objective-c屬性 - 無屬性

@interface SocialEnglish : NSObject <IsSociable> 
@property int numberOfPeopleMet; 
@property (readonly) int readOnlyProperty; 
@end 

沒有聲明與屬性關聯的實例變量。令我驚訝的是,編譯器沒有抱怨。然後,我編寫了一堆代碼來訪問實例對象,並確定setters和getters的工作方式就好像我已經實現了它們並將它們關聯到實例變量一樣!

在聲明類我可以做這樣的事情:

... 
_readOnlyProperty = 3; 
... 

嗯...我GOTA說,因爲這是有幫助的,也許......我不喜歡它。爲什麼編譯器不會抱怨,而是生成代碼。有沒有我需要設置的設置。

另請注意,我的實現類中沒有@synthesize指令。

謝謝!

回答

3

最新版本的Xcode自動「synthesize」現在爲您聲明屬性。 This came in with Xcode 4.0(請參閱「編譯:LLVM2.0」下的鏈接發行說明)。

如果你想稱之爲「@synthesize」,或者聲明「_readOnlyProperty」伊娃或靜態和「@synthesize」來表示,或寫自己制定者&干將,你可以繼續這樣做。