2012-03-30 9 views
0

一部のObj-C命令では、拡張子に変数を使用していますが、ivarとしてそれらを使用しています。
違いを説明してください。 (このため、より良い練習)XCodeクラス変数

@interface myClass 
{ 
int myVar; 
} 

VS

@interface myClass(){ 
int myVar; 
} 

これは特に、スタンフォードIOSオンラインコースの場合です。 @privateをインタフェース(非拡張)で使うのではなく、なぜそうするのか分かりません。

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

答えて

3

私が知る限り、あなたが書いたAPIに誰かがアクセスできるようにするには、それらに.hファイルを与える必要があります。したがって、私的であるイヤーズは、それを気にするべきではない人にはまだ見えます。それらを.mファイルに入れると、それらは完全に隠されており、本当にプライベートです。

+2

キーワードは_encapsulation_です。 – Cyrille

+0

同じタイプと名前のプロパティを使用すると、それらはパブリックになります。今私が知っている唯一の適切な状況は、.mファイルに静的な隠し変数を宣言することです – Gargo