プロパティインスタンス変数を理解するためにApple Docを読んでいますが、少し混乱しています
Apple Doc から:
ほとんどのプロパティはインスタンス変数によってサポートされる デフォルトでは、readwrite プロパティはインスタンス変数によってサポートされ、これもコンパイラによって自動的に合成されます。
インスタンス変数は、存在し、オブジェクトの存続期間中その値を保持する変数です。インスタンス変数に使用されるメモリは、オブジェクトが最初に作成されたときに (alloc によって) 割り当てられ、オブジェクトの割り当てが解除されたときに解放されます。
特に指定しない限り、合成されたインスタンス変数の名前はプロパティと同じですが、アンダースコアの接頭辞が付いています。たとえば、firstName というプロパティの場合、合成されたインスタンス変数は _firstName と呼ばれます。
アクセサー メソッドまたはドット構文を使用してオブジェクトが独自のプロパティにアクセスするのがベスト プラクティスですが、クラス実装の任意のインスタンス メソッドからインスタンス変数に直接アクセスすることも可能です。アンダースコア プレフィックスは、たとえばローカル変数ではなく、インスタンス変数にアクセスしていることを明確にします。
アクセサー メソッドまたはドット構文を使用することがベスト プラクティスである場合、なぜ user _ivarPropertyName を使用するのでしょうか?
プロパティの表示に ivar を使用する理由 その利点は何ですか?Appleが「アクセサーメソッドまたはドット構文を使用することがベストプラクティスである」と言ったとき