當我使用assign
聲明一個合成的propery時,ARC是否會自動爲它創建一個匹配的ivar?我的屬性如下使用分配是否減少使用的內存量?
@property (nonatomic, assign) NSString *text:
而且
- (NSString *)text {
return self.label.text; // label is a UILabel
}
- (void)setText:(NSString *)text {
self.label.text = text;
}
我從來沒有爲自動生成_text
伊娃任何用途;當我忽略@synthesize text = _text
還是未使用的ivar只是在未使用的內存中持續存在時,編譯器是否仍然創建此ivar?
但是ivar仍然不會出現在符號表中嗎? – 2014-09-03 13:00:45
它不應該。你看到一個嗎?更好的問題是它是否會從'class_copyIvarList()'出現在ivars列表中,但它不應該在那裏。如果是這樣,你應該打開一個編譯器缺陷。您還可以查看彙編輸出(在助手編輯器窗格中選擇「彙編器」)並親自查看。它不應該在那裏。 – 2014-09-03 13:03:33
您也可以通過嘗試訪問'self._text'來更簡單地向自己證明。這應該無法編譯。 – 2014-09-03 13:04:27