2012-12-05 100 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”来表示,或写自己制定者&干将,你可以继续这样做。