2017-02-23 13 views
0

我已經完成了一個在線課程,教我們寫的類屬性:不同的方式使讀公共寫私人變量在swift中?

class bar { 
    private var _foo:Int 

    var foo { 
     return _foo 
    }  
} 

從那時起,我已經看到

class bar { 
    private (set) var foo:Int 
} 

是否有書面的東西這兩種方式有什麼區別,這將是最佳做法?

回答

4

第二個選項是簡單,清晰,而且有仍然能夠在添加屬性同時還具有對getter和setter明確範圍getsetwillSetdidSet塊的額外好處。當然,你仍然可以將這些添加到私有屬性中,但我認爲代碼開始變得不太可讀。

另請注意,第一個選項是使用私有存儲屬性的公共只讀計算屬性。

第二個選項可以是計算屬性或存儲屬性。