2012-03-28 7 views
4

カプセル化されたgetterメソッドとsetterメソッドのプロパティの種類がわかります。したがって、私たちが myObject.property1と言うときは、実際には[myObject property1]を呼び出すことになります。 Appleのドキュメント、スタンフォードのiOSコース、サンプルコードから、プロパティの使用が推奨されています。私はプロパティを使用すると、コードをより良く見えるようにすることができますが、パフォーマンスはどうですか?私は巨大なアプリケーションを書く場合、プロパティを使用してパフォーマンスにnoticableimpactを持っていますか?専門家は、一般に直接セッターやゲッターのメソッドやプロパティを好むのですか?iOS - getter/setterメソッドを直接またはプロパティで使用する方が良いですか?

+0

私の質問は明らかです:ドット表記(myObject.property1)と直接getter/setter([myObject property1])の呼び出しのパフォーマンスに違いはありますか? @synthesizeに関連するものではありません。 –

答えて

3

ブラケット表記([myObject property1])または.表記(myObject.property1)を使用すると、パフォーマンスに違いはありません。

これは他のどのコーディングスタイルよりも優れているので、あなただけの人ではない場合は、快適な表記法やチームと同じ表記法を使用してください。

+0

2つのスタイルの間にパフォーマンスの違いはないと言います。私は不動産を愛している。そして最近のXCodeバージョンでは、XCodeがコードの半分を共有するので、それらを使うのは本当に簡単です。しかし、それが少しでも変わっていないのはちょっと変わっています。最初にそれらのプロパティをgetter/setterメソッドに変換しなければならないので、時間がかかりません。または、この翻訳はコンパイル時にお願いしますか?それがそうならば、それはうんざりです。 –

+1

それらは同じものにコンパイルされるので、パフォーマンスの違いはありません。 – sch

2

プロパティは、彼らが自動的にあなたのためのメソッドを生成するので、おそらく優れているとあなたがそれらを合成するときには、このようにそれを行うことができます。

@synthesize property = _property 

は、任意の混乱も

を回避するために、さまざまな機能を選択することができます/以下のようなメソッド:

  (nonatomic, retain) // or (readonly) etc. 

また、メモリ、より良い扱い

+0

でも、同じクラスのたくさんのプロパティがある場合は、戻りメソッドを作成する可能性もあります。 – MCKapur

1

プロパティは間違いなく推奨されます。ところで、ゲッターとセッターを自動的に生成するのは@synthesizeです。セッター/ゲッターのパフォーマンスの変化を裏付けるものは、私には知られていません。

+0

間違っています。重要な問題はパフォーマンスです。他のすべての発言は周辺である。私はその問題に取り組んでいます。 – Mundi

1

プロパティ構文は、getter/setter呼び出しに直接変換されます。私はをコンパイルするのに時間がかかりますか、または違いがある場合は、プログラムが実行されているときにコード実行が同じであることを知りません。

関連する問題