効率を上げるために、サブクラスのプロパティに関連付けられているメンバー変数にアクセスしたいと思います。次のように宣言されたプロパティがある場合:
@interface Mumbo : NSObject
@property (nonatomic) GLKVector3 position;
@end
Mumboの実装では、positionをself.positionとして参照することも、直接_positionとして参照することもできます(デフォルトの合成メンバー変数-@synthesizeは使用していません)。構造のコピーを避けるために、場合によっては効率のために後者を使用します。
ただし、サブクラスでは、インターフェイスを次のように変更しない限り、_positionを参照できません。
@interface Mumbo : NSObject {
GLKVector3 _position;
}
@property (nonatomic) GLKVector3 position;
@end
これはうまくいくようです。ただし、自動的に合成されたメンバー変数は、中括弧で明示的に宣言したものと一致することが保証されていますか?この件に関する明確なドキュメントが見つかりません。