这篇文章主要为大家展示了“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中的计算属性是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。