Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。4,700件42プロパティとインスタンス変数について、質問があります。@"test";}上記の2つを実行すると、どちらもTextFieldにtestと表示されます。これも意味は理解できます。いった状況でプロパティに宣言するか、インスタンス変数として宣言するか、使い道が理解出来ません。迷ってどうすれば?って感じになってます。どなたか教えて頂けないでしょうか。10.9.5Xcode6.1.1です。個の銅バッジ皆様、回答ありがとうございます。何となく理解出来ました。ありがとうございました。Counting)が有効かどうかで2パターンの回答が考えられます。ARCが有効であると仮定します。@propertyは、その記述とともに指定した名前をもつプロパティのsetter/getterの宣言(および、必要に応じてその実装も)を提供するシンタックスシュガーです。(端折って言えば)プロパティ及びsetter/getterは、カプセル化を実現するためのコンセプト(抽象化手法)の一つです。それを利用するモチベーションは、作ろうとしているオブジェクトの外部仕様(インターフェイス)に「属性の集合からなる何か」というモデルを適用した上で、そのインターフェイスに属性値の読み書きの操作方法を提供するところからきています。インスタンス変数は、オブジェクトが望んだように機能するために、クラス製作者が機能を記述するために利用できる、インスタンスに対応した変数です。基本的にはオブジェクトの中からしか参照/更新できませんし、そうなっていないとしたら、そのオブジェクトはオブジェクトなのにオブジェクトという形で抽象化しきれていないのでオブジェクトではありません。{}に記述するのが好ましいです。@propertyは(基本的に)その逆です。それぞれの特徴をまとめると、以下のようになると思います。使い分けるときに参考にしていただければと思います。.mm)の中からしか見えない(基本的には)ARCが無効な世界では、変数の代入によって自動的にオブジェクトがretain/releaseされないため、自前で管理しなくてはなりません。@property(retain)にはプロパティへのset時に自動的にretain/releaseをしてくれるという機能があるので、普通のインスタンス変数を使うより楽できます。|2ARCによるメモリ管理が標準的となった現在では、プロパティとインスタンス変数との間に特に差異はありません。「プロパティとは、インスタンス変数へのアクセサメソッドを提供する糖衣構文でしかない」という認識は概ね正しいです。インスタンス変数よりもプロパティを使うべきです。宣言的であるプロパティ宣言は、それがどのような性質を持つのか記述できるという強みがあります。*value;上記のプロパティは値がコピーして保持されることを宣言しています。DEPRECATED_ATTRIBUTE;利用が非推奨となったことを宣言できます。プロパティを利用しているコードには警告が表示されます。このような表現力はインスタンス変数にはありません。実装を隠蔽できるインスタンス変数は実装詳細です。対してプロパティはAPIです。インスタンス変数に対してnilを代入する処理を行ったとします。nil;もしインスタンス変数valueがnilを保持することになんらかの不都合があった場合、どう対処すべきでしょうか?ほとんどの場合、対処できません。nil;という記述は、アクセサを置き換えることで例えば次のように無害化できます。@0;}初期化を遅延させるなど、様々な応用が可能です。欠点とそれを補うメリットプロパティに全く欠点がないわけではありません。アクセサを経由することから、関数呼び出しのオーバーヘッドが発生します。一般的なアプリケーションの作成では十分に無視できる程度に、コンパイラによる最適化が行われます。「実装詳細にではなく、インターフェースに対してプログラミングする」という良い習慣が定着するメリットの方が大きいです遥かに大きいです。それが外部からアクセスされない、閉じた領域であったとしても、記法をプロパティに統一することで可読性が上がります。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。