1

我讀了一個堆棧溢出的答案,它比較了一個物體上的strong屬性以牽制狗。對於以強烈的參考作出的每一項聲明,都會在狗身上添加新的皮帶。一旦每個人遛狗回家(或每當有強引用的對象都會釋放),狗(分配的內存)就可以被釋放。我認爲這就是它的方式。如果我完全殺死了那個,我向原始海報道歉。無論如何,這是我的情況。我有一個NSDocument子類,它有一個名爲backgroundColor的屬性。下面是我的NSDocument子類是做accessor- /突變明智:返回相關視圖的值時屬性聲明是弱還是強?

- (NSColor *)backgroundColor 
{ 
    return self.window.backgroundColor; 
} 

- (void)setBackgroundColor:(NSColor *)color 
{ 
    self.window.backgroundColor = color; 
} 

所以,我的文檔對象不實際擁有的「束縛」,但與此同時,對於狗堅持走下去是非常重​​要的,或者文檔不會有背景顏色。現在我想我只是把自己和隱喻搞混了。在一天結束時,我只想知道是否聲明「轉發」屬性爲strongweak

謝謝!

回答

3

請勿將其聲明爲屬性。只要提供getter和setter實現就足夠了。物業在這裏沒有幫助,因爲沒有價值可以存儲。

+0

那麼,這是有道理的。我越看透事物,越是忽略它們。不過,我確實有一個後續問題。是KVC/KVO /綁定仍然沒有財產? –

+0

根據http://www.objc.io/issue-7/key-value-coding-and-observing.html,是的,你可以。 – NathanAldenSr

+0

該死的,你快!先生,先生。謝謝。附:從每篇文章的深度來看,objc.io都很棒。 Wowza。 –

2

由於您擁有自己的二傳手和吸氣器,並且不使用屬性ivar,因此strongweak沒有任何重要性。伊娃不會被閱讀或分配。

我可能會去與strong因爲[UIWindow backgroundColor]strongweak將工作完全一樣。

+0

我想我讀了'strong'是默認的,對嗎? –

+0

我認爲'保留'是默認的,在ARC中功能上等同於'strong'。 – NathanAldenSr

相關問題