[英]“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.