if((self = [super init]))?

0 xcode objective-c cocos2d-iphone

为什么如果我试图在cocos2d中调用动画函数,如下所示:

    -(id) init
    {
       if( (self=[super init] ) ) 
    {
    [self animation];

    }
        return self;
    }
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但是当我这样做时:

-(id) init
    {
      [self animation];
       if( (self=[super init] ) ) 
    {


    }
        return self;
    }
Run Code Online (Sandbox Code Playgroud)

动画被调用没有被播放?或者我看不到?我只是无法理解.

tas*_*oor 5

基类init正在做一些运行动画所需的重要事情是很自然的.这就是为什么当你在调用init基类动画之前尝试运行动画时没有播放的原因.