1

我正在使用 ARC 开发 Cocos2D/Kobold2D 游戏。我想将 CCSprite 引用存储在 CCArray 中。所有的 CCSprite 对象都作为子节点添加到父 CCNode。用 [NSValue valueWithNonretainedObject:..] 包装 CCSprite 对象以用于弱引用是个好主意吗?在所有示例中,我发现 CCSprites 都存储在 CCArrays 中......

4

1 回答 1

0

真的没有必要使用 NSValue。

如果您将对象添加到 NSArray 或 CCArray 或任何集合,它们将被保留。您有责任确保在适当的时间分别删除对象和发布的集合。

在许多情况下,您实际上不需要单独存储节点引用。您有 children 数组,只需对其进行迭代并选择您需要使用的节点,例如通过标记它们或使用 userObject 属性。

于 2012-09-18T08:43:12.113 回答