扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。)
Swift 中的扩展可以:
1.添加计算型属性和计算静态属性
2.定义实例方法和类型方法
3.提供新的构造器
4.定义下标
5.定义和使用新的嵌套类型
6.使一个已有类型符合某个协议
一、扩展属性,构造器,方法
class Human{ var name:String? var score:Double init(name:String,score:Double){ self.name = name self.score = score } } extension Human{ var scale:Double{ //扩展计数属性类型 return Double(score)/60 } convenience init(){ //扩展便利构造器 self.init(name:"小笨狼",score:60) } func description(){ //扩展方法 println("name:\(name),score:\(score)") } }
重点:
① 扩展使用关键字extension
② 扩展中添加属性只能是计算类型属性,不能是存储类型
③ 扩展中添加构造器只能是便利构造器,不能是指定构造器和析构函数
Swift 学习笔记十五:扩展
时间: 2024-10-12 12:26:29