次のような単純なクラスがあるとしましょう。
@interface A {
// @public
int var;
}
// @property(some_property) int var;
@end
変数varにアクセスしたい場合、いくつかのオプションがあります。varを公開すると、次のことができます。
A objectA = [ [ A alloc ] init ];
NSLog( @"%d", objectA->var );
objectA->var = someNumber;
代わりにプロパティにする場合は、次のようなことを行う必要があります。
A objectA = [ [ A alloc ] init ];
NSLog( @"%d", objectA.var ); // dot-syntax
NSLog( @"%d", [ objectA var ] ); // get-syntax
[ objectA setVar: someNumber ];
私は両方を試しましたが、それらは正常に機能しますが、私の質問は、オブジェクト内の変数にアクセスするために古いスタイルのポインター表記を使用することはどれほど危険ですか?メソッドへのアクセスを標準化することで、今すぐ対処する必要があることについて、後で心配する必要がありますか?それとも、それが機能する限り、私はそれをやり遂げることができますか?