1

ARC で Cocos2D/Kobold2D ゲームを開発しています。CCSprite 参照を CCArray に格納したいと考えています。すべての CCSprite オブジェクトは、親 CCNode に子として追加されます。弱い参照のために CCSprite オブジェクトを [NSValue valueWithNonretainedObject:..] でラップするのは良い考えですか? すべての例で、CCSprites が CCArrays に保存されていることがわかりました...

4

1 に答える 1

0

NSValue を使用する必要はまったくありません。

オブジェクトを NSArray または CCArray または任意のコレクションに追加すると、それらは保持されます。オブジェクトが削除され、コレクションが適切なタイミングでリリースされるようにするのは、ユーザーの義務です。

多くの場合、実際にはノード参照を個別に保存する必要はありません。children 配列があり、それを反復処理して、たとえばタグ付けするか、userObject プロパティを使用して、操作する必要があるノードを選択します。

于 2012-09-18T08:43:12.113 に答える