Objective-C无法分辨指针实例的来源

时间:2014-01-06 03:01:49

标签: objective-c

我是Objective-C的新手...希望标题中的术语是正确的......但无论如何。我正在关注一个教程,并且在某些指针的实例出现时有点困惑。我从未看到它们明确定义,然后教程将修改它们。举个例子,看看下面(我试着只包含必要的代码。我把星星 * 放在我最困惑的行旁边。基本上我不明白{{1} }和_meta来自以及如何从中调用方法。我想如果它们是_hudhud而没有meta,我会更加困惑。谢谢,对不起,如果这是一个业余问题。

_

1 个答案:

答案 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,其中包含更多详细信息。