這篇文章主要為大家展示了“Swift中的計算屬性是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Swift中的計算屬性是什么”這篇文章吧。

一、計算屬性的概念
計算屬性本身不存儲數(shù)據(jù),而是從其它存儲屬性中計算得到數(shù)據(jù),與存儲屬性不同,類、結(jié)構(gòu)體、和枚舉都可以定義計算屬性
計算屬性提供了一個getter來獲取值,以及一個可選的setter來間接設置其它屬性或變量的值,計算屬性的語法如下:
面向?qū)ο箢愋?類型名{
存儲屬性...
var 計算屬性名:屬性數(shù)據(jù)類型{
get {
return 計算后屬性值
}
set 新屬性值{
}
}
示例:
class Employee { var no:Int = 0 var firstName:String = "" var lastName:String = "" var job:String? var salary:Double = 0 lazy var dept:Department = Department() var fullname:String{ get{ return firstName+"."+"lastName" } set(newFullName)系統(tǒng)默認給的變量名為newvalue{ var name = newFullName.componentsSeperatedByString(".") firstName = name[0] lastName = name[1] } } }二、只讀計算屬性
計算屬性可以只有g(shù)etter訪問器,沒有setter訪問器,這就是只讀計算屬性
示例:
class Employee { var no:Int = 0 var firstName:String = "" var lastName:String = "" var job:String? var salary:Double = 0 lazy var dept:Department = Department() var fullname:String{ get{ return firstName+"."+"lastName" } } }三、結(jié)構(gòu)體和枚舉中的計算屬性
示例
struct Department { let no:Int = 0 var name : String = "sales" var fullName:String { return "swift" + name + ".D" } } var dept = Department() println(dept.fullName) enum WeekDays:String { case Monday = "Mon" case Tuesday = "Tue" case Wednesday = "Wed" case Thursday = "Thu" case Friday = "Fri" var message:String { return "Today is"+self.rawValue } } var day = WeekDays.Monday println(day.message)以上是“Swift中的計算屬性是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:Swift中的計算屬性是什么-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.chinadenli.net/article42/dposec.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、移動網(wǎng)站建設、標簽優(yōu)化、定制網(wǎng)站、虛擬主機、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容