第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么對實例變量使用下劃線,而不對實例屬性使用下劃線?

為什么對實例變量使用下劃線,而不對實例屬性使用下劃線?

胡說叔叔 2019-10-12 13:38:59
我是iphone開發(fā)的新手。我正在研究iphone中的語音記錄。我從Apple下載了“ Speak here”示例程序。該程序包含LevelMeter.h文件,其中 @interface LevelMeter : UIView {CGFloat                     _level, _peakLevel;   }該屬性設(shè)置為 @property                      CGFloat level; @property                      CGFloat peakLevel;聲明_level之類的變量并將其屬性設(shè)置為level有什么用。請解釋一下。謝謝。
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻1875條經(jīng)驗 獲得超3個贊

提醒

該@property指令等效于聲明一個setter和一個getter。對于level,


@property CGFloat level;

可以替換為


- (CGFloat)level;

- (void)setLevel:(CGFloat)v;

你的問題

為什么要level為一個名為的變量聲明一個名為屬性的屬性,_level以及為什么要首先使用一個開頭來命名變量_?我不知道。


如何運作,在回答LevelMeter.m:


- (CGFloat)level { return _level; }

- (void)setLevel:(CGFloat)v { _level = v; }


查看完整回答
反對 回復(fù) 2019-10-12
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

下劃線表示只能從其自己的類內(nèi)部訪問的內(nèi)容。因此,不應(yīng)從類外部訪問實例變量,而可以從屬性外部訪問實例變量。


查看完整回答
反對 回復(fù) 2019-10-12
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

在ivar中添加下劃線的原因只是為了使ivar和代碼中的屬性之間的區(qū)別更加清晰。蘋果似乎廣泛使用了這種樣式。您不必自己編寫訪問器方法:@synthesize level = _level;會在兩者之間建立自動連接。

查看完整回答
反對 回復(fù) 2019-10-12
  • 3 回答
  • 0 關(guān)注
  • 572 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號