0

我刚刚开始阅读 Apple 提供的 Object-c 开发人员手册。我在玩属性。我声明了一个类接口,它有两个属性:

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

没有声明与属性关联的实例变量。令我惊讶的是,编译器没有抱怨。然后我写了一堆代码来访问实例对象,果然 setter 和 getter 就像我已经实现了它们并将它们关联到实例变量一样工作!

在声明类中,我可以执行以下操作:

...
_readOnlyProperty = 3;
...

嗯...我得说这可能很有帮助...我不喜欢它。为什么编译器不抱怨而是生成代码。有没有我需要设置的设置。

另请注意,我的实现类中没有 @synthesize 指令。

谢谢!

4

1 回答 1

3

最新版本的 Xcodesynthesize现在自动为您“”声明属性。 这是 Xcode 4.0 附带的(请参阅“编译:LLVM2.0”下的链接发行说明)。

如果你想调用“ @synthesize”,或者声明一个“ _readOnlyProperty” ivar 或静态和“ @synthesize”,或者编写你自己的setter & getter,你可以继续这样做。

于 2012-12-05T05:48:16.053 回答