我在coccos2d中看到一个宏CCARRAY_FOREACH,实际上是什么呢?我们可以做替代解决方案吗?我正在使用spriteBatchNode的以下代码?
CCARRAY_FOREACH([spriteBatch children], sprite)
{
...................
}
Run Code Online (Sandbox Code Playgroud)
另一个答案实际上是错误的.CCARRAY_FOREACH它不是快速枚举的宏,它是CCArrays的快速枚举的替代品.CCARRAY_FOREACH比快速枚举NS(Mutable)Array(约10%)快一点,所以如果你使用CCArrays ,最好使用它.
检查CCArray.h标题以查看宏实际上是什么.
它是一个循环遍历 CCArray 中每个对象的宏...另一种选择是 Objective-C 的 foreach ,for (object in array)如下所示:
for (CCSprite *sprite in [spriteBatch children]) {
...
}
Run Code Online (Sandbox Code Playgroud)
这是针对 NSArray 和 NSMutableArray 的,但我认为它也适用于 CCArray。