子类没有父母的ivar'公共财产

时间:2014-09-30 09:27:00

标签: objective-c inheritance synthesize ivars

我正在学习目标-c并且有些东西我无法找到答案。

我在类的公共接口中声明了一个属性。 在那个课程中,我可以使用下划线直接访问ivar,而无需合成属性。

例如:
// Class.h @property (nonatomic, strong) NSString *someString; // Class.m _someString = something;

但是如果我将该类子类化,我可以在没有任何额外代码的情况下访问setter和getter,但是我无法直接访问ivar,除非我明确地合成了属性,这在超类中不是必需的步骤。

我知道它确实创建了特定于子类的ivars,因为我有2个相同超类的子类,并且每个子类都有自己的超类属性值。 我只是不明白为什么我需要明确地合成子类,如果我想直接访问ivars。

这不是一个真正的问题,而是更多的好奇心。

0 个答案:

没有答案