我正在使用ARC开发Cocos2D / Kobold2D游戏。我想在CCArray中存储CCSprite引用。所有CCSprite对象都作为子级添加到父CCNode。对于弱引用,用[NSValue valueWithNonretainedObject:..]包装CCSprite对象是个好主意吗?在所有的例子中,我发现CCSprites保存在CCArrays中......
答案 0 :(得分:0)
确实没有必要使用NSValue。
如果您将对象添加到NSArray或CCArray或任何集合,它们将被保留。您有责任确保在适当的时间分别删除对象。
在许多情况下,您实际上不需要单独存储节点引用。您有子数组,只需迭代它并选择您需要使用的节点,例如通过标记它们或使用userObject属性。