Swift计算属性
来源:互联网 发布:做身份证软件 编辑:程序博客网 时间:2024/06/05 16:02
//// main.swift// Swift计算属性//// Created by Goddog on 15/7/20.// Copyright © 2015年 Goddog. All rights reserved.//import Foundationprint("swift的计算属性类似于Java的setter和getter方法,枚举、结构体、类都可以定义计算属性,都有set和get方法哦")/**修饰符 var 计算属性名: 属性类型{ get { //get方法执行体,该方法必须有返回值 } set() { //set方法执行体,该方法一定不能有返回值 }}其中修饰符、set可以省略*///枚举定义了一个计算属性enum Season{ case Spring, Summer, Fall, Winter var info: String { //定义get方法 get{ print("get方法") switch(self) { case .Spring: return "春" default: return "无" } } //定义set方法 set(newValue){ print("set方法") print("传入参数为:\(newValue)") } }}var a = Season.Springprint(a.info) //实际上是调用的getter方法a.info = "秋" //实际上调用的setter方法//上面的示例只是简单赋值,并没有真正赋值class User{ var first: String = "" var last: String = "" //定义计算属性 var fullName: String { //定义计算属性的first、last两个属性决定 get{ return first + "-" + last } //定义计算属性的set方法,改变first、last两个存储属性 set(newValue){ var names = newValue.componentsSeparatedByString("-") self.first = names[0] self.last = names[1] } } init(first: String, last: String) { self.first = first self.last = last }}let s = User(first: "曹", last: "操")print(s.fullName) //调用get方法s.fullName = "刘-备"print("firstName: \(s.first), lastName: \(s.last)")//MARK: - setter方法简化/**计算属性的setter方法提供隐式的形参名,newValue上面可以是set{ var names = newValue.componentsSeparatedByString("-") self.first = names[0] self.last = names[1]}*///MARK: - 只读的计算属性//只有get部分,没有set部分的计算属性称之为只读的计算属性,而且只读计算属性定义部分甚至可以省略get关键字和花括号class Cat{ var first: String = "" var last: String = "" //定义只读计算属性,只有get部分(省略了) var fullName: String { return first + "-" + last } init(first: String, last: String) { self.first = first self.last = last }}let name = User(first: "孙", last: "权")print(name.fullName)//只读计算属性不能被赋值,程序只能获取只读计算属性的值
0 0
- Swift计算属性
- Swift-计算属性
- swift中的计算属性
- swift 计算型属性
- swift 关键字guard 计算属性
- 9.6 Swift只读计算属性
- swift 学习笔记(23)-属性(计算属性)
- Swift 存储属性和计算属性
- swift 属性定义 存储属性、计算属性、类属性
- Swift 中的计算属性、懒存储属性、属性观察器
- 通俗地理解Swift语言计算属性
- Swift中的Lazy与计算属性
- Swift中的Lazy与计算属性
- Swift基础语法-属性,存储属性,延迟存储属性,计算属性,属性观察器,类属性
- swift 2.0 类中的计算属性 & 只读属性
- swift学习记录(计算属性和属性观察者)
- [swift学习之十四]计算属性和存储属性
- swift-计算型属性和存储型属性的区别
- [noip2010]乌龟棋
- [ Android界面实现 ] ZListView,一个最强大的刷新、加载、滑动删除的 ListView 控件(一)
- [BZOJ1083][SCOI2005]繁忙的都市
- Implement Queue using Stacks
- 关于读写存储本地文件
- Swift计算属性
- HDU 2299 Largest Triangle
- 【Android界面实现】ZListView,一个最强大的刷新、加载、滑动删除的ListView控件(二)
- 黑马程序员——Java学习总结 IO部分
- [BZOJ1303][CQOI2009]中位数图
- 故障案例:mysql5.6下,mysqlbinlog版本不对可能导致的问题
- 欢迎使用CSDN-markdown编辑器
- 表单的验证
- 整合了刷新、加载更多、滑动删除功能的XListview