什么是coccos2d中的CCARRAY_FOREACH?

sen*_*thu 6 cocos2d-iphone

我在coccos2d中看到一个宏CCARRAY_FOREACH,实际上是什么呢?我们可以做替代解决方案吗?我正在使用spriteBatchNode的以下代码?

     CCARRAY_FOREACH([spriteBatch children], sprite)
{

    ...................
}
Run Code Online (Sandbox Code Playgroud)

une*_*lue 7

另一个答案实际上是错误的.CCARRAY_FOREACH它不是快速枚举的宏,它是CCArrays的快速枚举的替代品.CCARRAY_FOREACH比快速枚举NS(Mutable)Array(约10%)快一点,所以如果你使用CCArrays ,最好使用它.
检查CCArray.h标题以查看宏实际上是什么.


KDa*_*ker 0

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

for (CCSprite *sprite in [spriteBatch children]) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

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