【发布时间】:2014-01-07 21:05:51
【问题描述】:
在接口部分设置只读属性时,这会“禁用”该属性的 setter 方法。我需要澄清一下:
- 如果我们可以使用 _propertyName 设置只读属性,那么它的意义何在?
如果我们的属性是可读写的,何时使用 _propertyName?
另外,我知道我们使用 setter 方法来实现一定程度的抽象,而不是仅仅使用 _propertyName 分配值。还有其他不使用 _propertyName 的理由吗?
下面是一些示例代码。谢谢。
接口部分
@property (nonatomic, readonly) NSString *licensePlate;
@property (nonatomic, readonly) NSString *bodyColor;
实施部分
-(id) initWithCarFeatures {
self = [super init]
if (self) {
_licensePlate = @"XSHJDS8687";
_bodyColor = @"blueColor";
}
return self;
}
【问题讨论】:
标签: objective-c properties readonly ivars