Swift-存储属性
来源:互联网 发布:大数据掌握的技术 编辑:程序博客网 时间:2024/06/02 03:24
存储属性
/* 1、存储属性 2、常量存储属性 */print("1、存储属性")class Person { let name:String = "zhang" var age:Int = 16}//结构体常量对象,它本身是一个常量,其次对应的对象不可以被修改//类常量对象,它本身是一个常量,其次它对应的对象,可以通过它来进行修改//结构体或者枚举类型:值引用;类:引用let person = Person()//(name:"wang",age:16)//person.name = "wang"person.age = 18/* 3、延迟存储属性 Swift中所有的存储属性必须要有初始值,类以及结构体对象定义完之后,对象中所有的存储属性必须要有初始值,例外:延迟属性可以将属性的初始值化向后推迟到该属性第一次被调用时 作用: (1)属性不适合一开始初始化 (2)属性有可能从来不用,但是初始化又需要很长时间 */print("\n3、延迟存储属性")struct MyStudent { var name:String var chinese:Double var math:Double func showStudent(){ print("姓名:\(name),语文:\(chinese),数学:\(math)") }}class MyClass{ var members:[MyStudent] = [] //班级学生总成绩 lazy关键字延迟存储属性 lazy var score:Double = self.getSorce() func getSorce() -> Double { print("lazy property") var sum :Double = 0 for i in members { sum += i.chinese sum += i.math } if members.count > 0 { return sum / Double(members.count) }else{ return 0 } } func show(){ for i in members { i.showStudent() } }}let s0 = MyStudent(name:"zhang",chinese:100,math:100)let s1 = MyStudent(name:"wang",chinese:90,math:90)let c0 = MyClass()c0.members.append(s0)c0.members.append(s1)c0.show()//print(c0.getSorce())print("======")print(c0.score)
2 0
- Swift-存储属性
- Swift-存储属性
- 【Swift】延迟存储属性
- Swift存储属性
- 9.1 Swift存储属性
- Swift 基础学习(存储属性)
- 9.2 Swift常量存储属性
- 9.4 Swift延迟存储属性
- Swift 存储属性和计算属性
- swift 属性定义 存储属性、计算属性、类属性
- Swift基础语法-属性,存储属性,延迟存储属性,计算属性,属性观察器,类属性
- swift 学习笔记(22)-属性(存储属性/延迟属性)
- Swift 中的计算属性、懒存储属性、属性观察器
- swift学习记录(存储属性)
- Object-C--->Swift之(十)存储属性
- swift结构体常量的存储属性
- Swift-计算属性
- [swift学习之十四]计算属性和存储属性
- Unity3d与Android交互总结
- java中length,length(),size()区别
- android Studio中preview 的显示、固定与隐藏
- 802.1P和IP Precedence及DSCP优先级的分类和对应
- 实现字符串右循环移位函数
- Swift-存储属性
- 字符串直接转NSNumber时崩溃
- 通讯录模糊匹配
- Mongodb开启与关闭
- 在Eclipse中码代码时 会爆出Unhandled event loop exception No more handles ?
- Java8之Stream/Map以及Lambda
- Python时间获取及转换知识汇总
- 《算法竞赛入门经典》(刘汝佳)5.1
- c:forEach varStatus="status">中 varStatus的属性简介