頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


ローカル変数だとメモリ管理しなくてもOK?

何かと悩ましいiPhoneアプリ作成におけるメモリ管理。
相変わらず苦しめられております。

なんとなく、ローカル変数って放っといていいんだよな、、、でも何だか違うよね、、、
などとうやむやにしてきた(それでもある程度アプリは動いてくれたりするんだよな)のですが、こんな目から鱗が落っこちる記事が。

viva Cocoa / Objective-C 入門
この場合メソッドが呼び出されてローカル変数が作成される時にオブジェクトのローカル変数はポインタとして作成されます。そしてメソッドが終了する時にローカル変数として作成されたポインタは自動的に破棄されます。しかしポインタにアドレスを代入する形で生成されたオブジェクトはメソッドの外側(スコープ外)に作られています。したがってメソッドが終了しても自動的に破棄されることはありません。


そうか、そうか!
勝手には破棄されるのはポインタであって、オブジェクト自体はやっぱりなんとかしないと駄目なんだな!

なるほど~!
机の上が鱗で埋まってしまったよ。
スポンサーサイト

<< Objective-Cの配列で数値を扱う時にはまった  TopPage  標準アプリのカレンダーを使ってみることにした >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/404-42f023c4




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad