假设我有一个简单的类,如下所示:
@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 ];
我都试过了,它们都工作得很好,但我的问题是使用旧式指针表示法访问对象内部的变量有多危险?我以后是否需要通过标准化我的方法访问来担心我现在应该处理的事情?或者,只要它有效,我就可以侥幸逃脱吗?