Objective-C基礎学習のARC基本概念

1208 ワード

1.ARCとは
  • Automatic Reference Counting、自動参照カウント、すなわちARCは、WWDC 2011とiOS 5が導入した最大の変革と最も感動的な変化と言える.ARCは新しいLLVM 3.0コンパイラの特性であり、ARCを使用すると、多くのiOS開発者が憎んでいる手動メモリ管理の面倒を一挙に解決したと言える.

  • メモリを手動で管理し、MRC(Manual Reference Counting)と略称できます.

  • 工事でARCを使うのはとても簡単です:いつものようにコードを書くだけで、retain、release、autoreleaseの3つのキーワードを永遠に書かないだけでいいです~これはARCの基本原則です.
  • ARCがオンの場合、コンパイラは自動的にコードの適切な場所にretain,release,autoreleaseを挿入し、プログラム猿としてコンパイラが間違っていることを心配する必要はありません(開発者自身がARCを誤用しない限り).

  • 2.ARCの注意点と利点
  • ARCの注意点
  • ARCは、ランタイム特性
  • ではなくコンパイラ特性である.
  • ARCは他の言語のごみ回収ではなく、本質的な違いがある
  • ARCの利点
  • は手動でメモリを管理する煩わしさを完全に解消し、プログラム猿をappの業務に集中させる
  • である.
  • メモリ漏洩を実質的に回避できる
  • .
  • は、コンパイラがいくつかの最適化
  • を実行することもできるため、より高速である場合がある.

    3.ARCの判断原則
  • ARCの判断原則
  • 強いポインタ変数がオブジェクトを指す限り、オブジェクトはメモリに保持されます.
  • 強ポインタ
  • デフォルトのすべてのポインタ変数は、強いポインタ
  • です.
  • 被_strong修飾ポインタ
  • Person *p1 = [[Person alloc] init];
     __strong  Person *p2 = [[Person alloc] init];
    
  • 弱ポインタ
  • 被_Weak修飾ポインタ
  • __weak  Person *p = [[Person alloc] init];
    

  • 注意:ARCを使用する場合は、判断基準が変わったため、「参照カウンタ」を一時的に忘れます.