項(xiàng)目中經(jīng)常需要?jiǎng)?chuàng)建這樣一種變量:對(duì)內(nèi)可讀寫,但對(duì)外是只讀的。在 OC 中,只需在 .h 文件中將屬性定義為 readonly,而在 .m 文件中將該屬性重新定義為 readwrite 即可。
可是在 Swift 中卻沒(méi)有這樣讓我們重新定義權(quán)限的機(jī)會(huì),那么我們?cè)撊绾稳?chuàng)建這樣的變量呢?
Swift中的實(shí)現(xiàn)方式:
class Person {
private(set) var name : String!
}
別看有 private 就以為其他類不能訪問(wèn) name 屬性了,其實(shí)只是 setter 方法是私有的,所以在其他類中是可以訪問(wèn) name 屬性的,只是不能修改而已,而在 Person 類中是讀寫都可以。