簡體   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