2012-02-13 18 views
0

ご迷惑をおかけいたして申し訳ありません。私はまだobjetive-cと適切なデザインパターンを学んでいます。 プライベートプロパティとして、クラスの実装ファイル内のプロパティーを@interfaceに宣言することをお勧めしますか?あなたのクラスの外の誰もこのプロパティに対して任意のゲッターまたはセッターを使用することはないので、あなたの型のローカル宣言をクラススコープで使うことができます。クラス実装のプライベートプロパティ宣言?

ありがとうございました。

+0

「クラススコープのあなたの型のローカル宣言」は、どういう意味ですか? – ZhangChn

+1

万が一Webで検索したり、Appleのドキュメントを反転したりしましたか? – mbh

+0

[?](http://d.images.memegenerator.net/instances/500x/14507811.jpg) – Veilkrand

答えて

1

プロパティのセマンティクスを使用すると、コンパイラによってメモリ管理の動作が「無料」になります。データがクラス内でプライベートであっても、コンパイラが正しいrelease/retain/copyを発行すると、時間が節約され、ラインを間違えます。

現代のARCコンパイラでは、これはおそらく今のところ問題にはなりません。

+0

私は実装の中でプロパティを使うのは意味がありません。そうですか? – Veilkrand

1

@private(通常はインスタンス変数またはプロパティ)と宣言すると、宣言したクラスのメソッドでのみアクセス可能になりました。サブクラスからアクセスしようとすると、エラーが発生します。

あなたがこれを求めなかったのは知っていますが、@protectedもあります。プロパティがこのように宣言されると、それを宣言したクラスのメソッドとそれを継承するすべてのクラスのメソッドクラス。

この情報のソースは、Robert ClairのObjective-C-Learning Objective-C 2.0について私が知っているベストブックです。

関連する問題