extension,擴展,用於在既有的Class Struct Enum上增加額外的功能。
class MyClass {
}
extension MyClass {
func sayHello() {
print("Hello")
}
}
let myClass = MyClass()
myClass.sayHello()
也可以於原生提供的Class增加額外的功能。
extension String {
func toIntValue() -> Int? {
return Int(self)
}
}
let string = "3"
print(string.toIntValue())
這種情況叫做Category,通常會開一個新的檔案,命名為要擴展的Class+
例如:
String+.swift
擴展也能拿來實作Protocol
extension ViewController: UITableViewDelegate {
}
沒有留言:
張貼留言