收到ARC语义问题如何解决?

时间:2014-02-09 19:42:05

标签: ios objective-c cocos2d-iphone automatic-ref-counting

我目前开始在Xcode上使用cocos2d 3.0。当我开始运行它时,我在第7行收到错误。 [child wasRunning:wasRunning]; 我不知道如何解决这个问题,任何人都可以帮助我吗?错误是 'CCNode'没有可见的@interface声明选择器'wasRunning'

static void
RecursivelyIncrementPausedAncestors(CCNode *node, int increment) {
    for(CCNode *child in node->_children){
        BOOL wasRunning = child.runningInActiveScene;
        child->_pausedAncestors += increment;
        [child wasRunning:wasRunning];

        RecursivelyIncrementPausedAncestors(child, increment);
    }
}

感谢。

2 个答案:

答案 0 :(得分:1)

因为CCNode类中没有wasRunning这样的方法。可能是你将CCNode子类化为某些XYZ类。如果是,则键入cast child到该类,然后调用该方法。

答案 1 :(得分:0)

我通过添加

解决了这个问题
-(void)wasRunning:(BOOL)wasRunning;
在CCNode.h中

,但后来我在CCScheduler.m文件中遇到了另一个类似的问题,第89行:CCScheduledTarget没有名为_paused的成员。

我刚刚创建了一个新的cocos2D项目,没有改变任何东西,我遇到了这些问题。 所以我认为添加 - (void)wasRunning:(BOOL)isRunning;如果我有其他类似的问题,这不是一个好的解决方案。 我有Xcode 4.5.2和Cocos2D 3.1.0。