この質問にはたくさんの答えがあります。しかし、それらはすべて正しくありません。
たとえば、1 つの CCSprite オブジェクトで CCLayer オブジェクトを作成したとします。3 つのテクスチャがあり、タッチするたびにそれらを切り替えたいと考えています。
たとえば、次のようなものを使用します。
このアプリケーションを Simulator で実行します。次に、メモリ警告を呼び出します。次に、画像 (テクスチャ) を切り替えてみます。そして、3枚のうち2枚の画像が削除されていることがわかります(メモリ警告が表示されたときに画像が表示された場合を除く)。
CCSprite と ССTexture2D の保持/解放コマンドを使用しようとしましたが、解放されたオブジェクトの dealloc メソッドが呼び出されない状況が発生します。
では、それらを正しく保管するにはどうすればよいでしょうか。それらをメモリ警告で保存し、現在のレイヤーが破棄されたときにそれらを解放/削除したい。