这个问题来自this Encapsulating Data guide from Apple
真的很困扰我,我希望得到一些见解。在您可以实施自定义访问者方法部分,本指南执行此操作:
@property (readonly) NSString *fullName;
- (NSString *)fullName {
return [NSString stringWithFormat:@"%@ %@", self.firstName, self.lastName];
}
为什么要创建属性来执行此操作?这种方法不够吗?更重要的是:属性fullName
默认为atomic
。吸气者完全无视这一点。
在我看来,自定义getters/setters
是一件非常糟糕的事情,因为它们会绕过所有属性的修饰符。但指南告诉人们这样做。我在这里缺少什么?