繁体   English   中英

Objective-C中@property声明中的“getter”关键字?

[英]“getter” keyword in @property declaration in Objective-C?

我注意到Apple的文档中的一些代码示例在声明属性时显示以下样式:

@property (nonatomic, getter=isActivated) BOOL activated;

据我所知,它允许您为getter方法指定某个名称。 我想知道使用这种风格的原因和优势是什么。

我是否能够使用点符号来获取值(例如BOOL aBool = someObject.isActivated)? 或者我应该使用
[someObject isActivated]; 进入该物业? 谢谢!

不, getter关键字仅更改方法名称。 这个想法是你将像变量一样访问该属性:

if (self.activated) { ... }
self.activated = YES;

但是当你对象发送消息时 ,它是可读代码: if ([self isActivated]) { ... }

后者的种类。 您不必使用方法调用someObject.activated仍然可以工作 - 但它可以让您改进类的接口的语义。 一种方法称为-activated可以返回伊娃的价值activated ,也可以做一些更深奥的(如激活该对象); isActivated清楚地返回一个布尔值,表示该对象是否被“激活”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM