这篇文章主要为大家展示了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。