這篇文章主要為大家展示了“Swift中的計算屬性是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Swift中的計算屬性是什么”這篇文章吧。
一、計算屬性的概念
計算屬性本身不存儲數據,而是從其它存儲屬性中計算得到數據,與存儲屬性不同,類、結構體、和枚舉都可以定義計算屬性
計算屬性提供了一個getter來獲取值,以及一個可選的setter來間接設置其它屬性或變量的值,計算屬性的語法如下:
面向對象類型 類型名{
存儲屬性...
var 計算屬性名:屬性數據類型{
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)系統默認給的變量名為newvalue{
var name = newFullName.componentsSeperatedByString(".")
firstName = name[0]
lastName = name[1]
}
}
}二、只讀計算屬性
計算屬性可以只有getter訪問器,沒有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"
}
}
}三、結構體和枚舉中的計算屬性
示例
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中的計算屬性是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。