Objective-C+Cocos2dで開発しててちょっとハマったのでメモ。
画面のinit処理
スプライト生成
画面に追加
ってことしてて、別関数で上記でインスタンス化したスプライトを参照してたけど
なぜかメモリ上は開放されてて画面に反映されないよって状態でした。
原因はコード上、
スプライト=0
って書いちゃってたこと。
※本当はただの整数型の初期化処理部分
構文上のエラーにもならないし、おまけに参照カウンタが
2だったのが0になってる。。。
ちょっとしたコーディング上のケアレスミスなんだけども
すぐには発見できなかった。。。orz
これ、
インスタンス=nil
と同じ効果なんだろうか。。。
ちょっと余裕出来たら調べてみよう。
instance=nilは内部で¥0なんじゃない?もしかして。
返信削除古いCの実装だとそうなってるから推測です。
ステップ実行しながら調べてみたら、=nilと=0で同じような挙動になってるので
削除ご指摘のとおりかもしれないですね。
古いCだとそうなってるんですね、勉強になります。。。φ(..)メモメモ
ありがとうございます!