这是一个方法调用另一个方法的方式吗?

时间:2012-02-28 23:49:33

标签: iphone objective-c cocos2d-iphone

我正在做一些编程,我也在同时阅读一些代码而且我遇到了这段代码

   -(id)init 
{
    if ((self = [super init])) 
    {
        some code....
        [self initEnemy];
    }
    return self;
}

以下,它有

-(void)initEnemy
{
   more code....
   [self resetEnemy];
}

然后..

-(void)resetEnemy
{
  more code.. etc..
}

我看到它的方式是第一种方法init调用方法initEnemy,然后调用resetEnemy。基本上一种方法带来另一种方法等等。 成功形成一个算法(你无法真正说出因为我已经显示了很少的代码)。我正确地看着它吗?

另外,我可以在执行-(id)init时解释return self;方法内部发生的情况。

1 个答案:

答案 0 :(得分:1)

是的,你正在正确地阅读这个执行顺序。


当方法中发生“返回”时,控制权返回“调用者”方法(最初调用它的人)。 “self”表示“self”的值应该交还给调用者。 (在这种情况下,“self”指的是在-init中初始化对象的实例。如果您想了解有关初始值设定项的更多信息,可以将其分解为更具体的问题。)