タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

NSAutoreleasePoolに関するa01000000のブックマーク (2)

  • ykmt : mac » retain, release, autoreleaseについて考える

    Objective-C のコードを書いていると、理解しているはずなのに、ときどきわからなくなる。 そう、retain、release、autorelease の3兄弟だ。 この例はとってもシンプル。何をしたいのか理解できないが。 - (void) hoge: (id)obj { UIView *aView = [[UIView alloc] initWithFrame:CGRectZero]; [myView addSubView:aView]; [self hoge:obj]; } どうやら UIView のインスタンスを作って、myView に追加したいらしい。 だけど、このコードだと、aViewがメモリリークする。 2行目で、aViewのretainCountが1になる。 3行目で、myViewがaViewを使うことになるので、aViewのretainCountが2になる。 そして、

  • Cocoaでいこう! Macらしく 第13回

    この記事は、MOSAが発行するデベロッパ向けのデジタルマガジンMOSADeN 第72号(2003年7月1日発行)に掲載された記事です。2~3ヶ月遅れで、ここに掲載して行きます。 autorelease poolの説明に随分と時間をかけています。CocoaGUIを組む時には、特別な理由が無い限り生成する必要が無いautorelease pool。それなのに、これだけ詳しく説明しているのには、理由があります。実はその特別な理由は、組むプログラムによっては、良く発生することでもあるからです。 autoreleaseは入れ子にできる autoreleaseしたものは、たとえ不要になってもイベントループに戻るまでは保持されます。これが大した数で無い時には問題になりませんが、例えばそれが何千回もループする処理で、ループの度に何十ものオブジェクトを一時的に生成する必要がある場合は、どうでしょう。それだ

  • 1