我刚开始阅读来自apple的Object-c开发人员手册。我正在玩房产。我声明了一个类接口,它有两个属性:
@interface SocialEnglish : NSObject <IsSociable>
@property int numberOfPeopleMet;
@property (readonly) int readOnlyProperty;
@end
不声明与属性关联的实例变量。令我惊讶的是,编译器没有抱怨。然后我编写了一堆代码来访问实例对象,确定setter和getter工作就像我实现了它们并将它们与实例变量相关联一样!
在宣布课程中,我可以这样做:
...
_readOnlyProperty = 3;
...
嗯...我说这个有用可能......我不喜欢它。为什么编译器没有抱怨而是生成代码。我需要设置一个设置。
另请注意,我的实现类中没有 @synthesize
指令。
谢谢!
答案 0 :(得分:3)
Xcode的最新版本现在自动“synthesize
”声明属性。 This came in with Xcode 4.0(请参阅“编译:LLVM2.0”下的链接发行说明)。
如果你想打电话给“@synthesize
”,或者宣布“_readOnlyProperty
”ivar或静态和“@synthesize
”,或者写下你自己的“定居者”。 getter,你可以继续这样做。