ページ

2013年2月4日月曜日

XCodeで意味の分からないエラー

XCodeでiOSのアプリを開発しているときに

-[CALayer retain]: message sent to deallocated instance 0x6c4ba0

こんなエラーが頻発するときがたまにあります。
原因はよく見れば簡単だったりするのですが、開発している最中にはなかなか気づけません。

だいたいはinitしていないものをautoreleaseしていたりすることが多いと思います。
UILabelやUIButtonを生成しながら使っていたりすると、必要ないのにautoreleaseしていたりすることは少なくないはず。iOS6では落ちないのに、iOS4.3では落ちるとか、こういう時はまさにこれのように思います。
あくまでも私がよくやることなので、すべてではないと思いますが、NSZombieと一緒に見ていくことが大切なのだと思います。