oimo’s blog

エンジニア(♀)のブログです

strong と weak の違い

property を Outlet で宣言する時には、基本はweakを使いましょう。リークします。

strong と weak の違い

よく聞くのが「強い参照」と「弱い参照」
なんのこっちゃ!ですかね。これは、
強い参照:値を保持する
弱い参照:参照カウンタが0になったら破棄する

さて、参照カウンタとはなんでしょうか。

参照カウンタとはメモリ管理のメーターのようなもので、
「値を消さないで!」と思えば思うほどカウントアップします。(嘘です、書きましょう)
初期値は0です。
alloc/initでインスタンスを生成すると+1になります。
retain すると更に+1
release は-1

Xcode4.2以降で搭載されたARCによりメモリ管理はある程度システム的に行ってくれるようになったので、strong と weak の違い は覚えましょう。

 

 

 

Objective-C ARCによるメモリ管理 | YOHEI's BLOG

NSObject - iPhoneアプリ開発の虎の巻

jazzsasori.hatenablog.com