假设我有以下课程。
@interface MyObj : NSObject{
int age;
}
-(void) setAge: (int) anAge;
-(int) returnAge;
@end
@implementation MyObj
-(void) setAge:(int) anAge{
age = anAge;
}
-(int) returnAge{
return age;
}
如果我想为年龄变量赋值,我可以使用类方法在 main.js 中执行以下操作。
MyObj *newObj = [MyObj new];
[newObj setAge:18];
然而,从乱搞中我注意到我似乎能够使用 . 符号。我没有收到任何警告或错误。
MyObj *newObj = [MyObj new];
newObj.age = 20;
两者的最终结果似乎相同,但我觉得我不应该使用 . 像这样直接访问 ivars 的符号。
我应该对所有 ivars 使用 getter 和 setter 还是像这样直接访问它们好吗?
谢谢