0

我正在学习objective-c,但有些东西我找不到答案。

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

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

但是,如果我对该类进行子类化,则无需任何额外代码即可访问 setter 和 getter,但无法直接访问 ivar,除非我显式合成属性,这在超类中不是必需的步骤。

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

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

4

0 回答 0