タグ

Objective-CとReleaseに関するBowz13のブックマーク (2)

  • releaseの使いどころ : As Sloth As Possible

    俺もメモリ管理を間違えて頻繁にアプリを落としてしまうゆとりプログラマなのであんまり偉そうなことも言えないのだけど、「releaseの使いどころ。メモリの辺りがどうしてもわからない。」を読んでいくつか思ったところがあるので書いときます。 「何度もinit」はしない 既に確保されているハズの変数を二度initするのはメモリリークだよね? 解放されている変数は、 if (obj == nil) では判別できないのだろうか。 ボタン押下時などに、同じロジックを走ることが多くて、何度もinitをしてしまうことが多いのだが。。。。 具体的なコードを見てないので間違ってるかもだけど、多分これ「何度もinitしちゃう」じゃなくて「開放してないオブジェクトを参照してる変数に、何度も新しいオブジェクトをつっこんじゃう」ってことだと思って話を進める(そうすると、どこからも参照が辿れないのにメモリが開放されてない

    releaseの使いどころ : As Sloth As Possible
  • [iPhone] UIWebView のリリース前に delegate に nil をセットする必要がある | Sun Limited Mt.

    UIWebView のインスタンスに delegate を指定している場合は以下のように release する前に delegate に nil をセットする必要があります。 - (void) viewDidLoad { webView = [[UIWebView alloc] init]; webView.delegate = self; .... } - (void)dealloc { webView.delegate = nil; [webView release]; } アップルのマニュアルにも以下のように書かれています。 Important: Before releasing an instance of UIWebView for which you have set a delegate, you must first set its delegate property to

  • 1