对已有的类,结构体或者协议类型添加新的功能,就叫做扩展。这是我喜欢Swift语法的原因之一,超实用的。
语法很简单
extension 已有类型 {
// 扩展计算属性(不能扩展储存属性)
// 扩展构造器
// 扩展方法
// 扩展下标
...
}
来一波例子,你就知道了
扩展计算属性
extension Float {
var twice: Float {
return self * 2
}
}
let number: Float = 3
number.twice // 结果为6
扩展方法
class Person {
var name: String
init(name: String) {
self.name = name
}
}
// 扩展Person类,添加sayHello
extension Person {
func sayHello() {
print("hello, \(self.name)")
}
}
let person = Person(name: "Johan")
// 这就可以使用person的sayHello方法了
person.sayHello()
这就不一一举例子了,自己慢慢摸索,总之很好玩!!