我是Objective-C的新手...希望标题中的术语是正确的......但无论如何。我正在关注一个教程,并且在某些指针的实例出现时有点困惑。我从未看到它们明确定义,然后教程将修改它们。举个例子,看看下面(我试着只包含必要的代码。我把星星 * 放在我最困惑的行旁边。基本上我不明白{{1} }和_meta
来自以及如何从中调用方法。我想如果它们是_hud
和hud
而没有meta
,我会更加困惑。谢谢,对不起,如果这是一个业余问题。
_
答案 0 :(得分:3)
由于您的属性定义,编译器会隐式生成实例变量_meta
和_hud
:
@property (strong) CCTMXLayer *meta;
@property (strong) HudLayer *hud;
这是Objective-C的最新成员。您以前需要在.m文件中使用@synthesize
才能创建相应的实例变量。但是,从Xcode 4.4开始,如果您没有为属性包含@synthesize
,编译器将自动为您生成一个属性。对于您的属性,它隐式生成:
@synthesize meta = _meta;
@synthesize hud = _hud;
如果您有兴趣,这里有一个article,其中包含更多详细信息。