2012-01-26 17 views
2

私はObjective-C構文を使用していますが、質問言語には依存しません。getterの代わりにivar変数を使用する利点について

@synthesize activities = _activities; 

self.activities次の宣言を想定し

はゲッターを呼び出しますと_activitiesは、すでに割り当てられた値をチェックします。この割り当ての主な利点は、私が理解するように、setterが呼び出されたときとローカル変数が呼び出されたときを明確に区別することです。

これはいいですが、ivarとgetterメソッドを使用する実際の具体的なメリットは何ですか?

私は1つ、他のものは何と思いますか?

  • 私は、ivarを使用してgetterを呼び出す方が速いと思いますが、touchイベントの場合と比較して、その差はごくわずかです。

答えて

1

インスタンス変数に直接アクセスすることは、合成されたアクセサによって提供される任意の原子性保護およびメモリ管理を回避することを意味します。あなたがそれをしていることが明らかであれば、そのようなアクセスを監査して、クラスの振る舞いのこれらの側面を自分で見ていることを確実にしてください。

関連する問題