2016-08-10 52 views
2
private weak var _delegate: SomeClassDelegate? 
weak var delegate: SomeClassDelegate? { 
    get { 
     return _delegate 
    } 
    set { 
     _delegate = newValue 
    } 
} 

這是有效的代碼。使用weak關鍵字與計算的delegate屬性有什麼意義?邏輯上沒有;編譯器如何通過這段代碼來處理?弱關鍵字與計算屬性

回答

0

計算屬性不被ARC保留,因此您不需要將其標記爲弱。

我所知道的只有一個優點是確保財產在未來可能零。您不能聲明爲:

weak var youProperty: YourType { 
    get { 
     return _yourProperty 
    } 
    set { 
     _yourProperty = newValue 
    } 
}