リファレンスカウンタ方式のメモリ管理や、メモリリークのテストについて以前書きました。(今から始めるiPhoneアプリ開発参照)
基本的に以前書いたルールを守って組んでいれば、問題となることは無いと思いますが、デバッグする時など現在のカウント数を知りたい事も有るかと思います。
その場合は以下の一文でコンソールに出力できます。
NSLog( @”RetainCount:[%d]“, [SomeObject retainCount] );
Javaで組んでた人にはルートとなるクラスがあるのは馴染み深いかと思いますが、Objective-Cでは、基本的にNSObjectを継承して各オブジェクトが出来ているので、どんなオブジェクトでもretainCountメソッド(※)でカウント数を取得できます。
※今までもあまり意識せずにメソッドという表現で書いてきた気がしますが、Objective-Cは動的な結合が特徴で、上記の場合は「SomeObjectにretainCountメッセージを送る」という表現で書かれる事が多いかと思います。
※iPhoneアプリ開発に関する投稿を今から始めるiPhoneアプリ開発にまとめました。
最近のコメント