什么是coccos2d中的CCARRAY_FOREACH?

时间:2011-02-02 09:46:24

标签: cocos2d-iphone

我在coccos2d中看到一个宏CCARRAY_FOREACH,实际上是什么呢?我们可以做其他选择 解决方案而不是它?我正在使用spriteBatchNode的以下代码?

     CCARRAY_FOREACH([spriteBatch children], sprite)
{

    ...................
}

2 个答案:

答案 0 :(得分:7)

另一个答案实际上是错误的。 CCARRAY_FOREACH不是快速枚举的宏,它是CCArray s的快速枚举的替代品。 CCARRAY_FOREACHNS(Mutable)Array上的快速枚举快一点(约10%),因此如果您使用CCArray,请更好地使用它。
检查CCArray.h标题以查看宏实际上是什么。

答案 1 :(得分:1)

它是一个循环遍历CCArray中每个对象的宏...另一种选择是objective-c的foreach for (object in array),如下所示:

for (CCSprite *sprite in [spriteBatch children]) {
    ...
}

这适用于NSArray和NSMutableArray,但我认为它也适用于CCArray。