Swift中扩展的使用

import Foundation

/*
扩展
1.使用扩展添加属性, 方法, 可变方法, 构造器, 下标, 嵌套类型
2.可以使一个已有类型符合一个或者多个协议
3.扩展与OC的Category类似
4.扩展并不是派生子类, 因此不支持重写
*/ /*
[修饰符] extension 已有类型 { // 添加新功能 }
修饰符可以省略, 或者是private, internal, public其中之一,
类型可以是枚举, 结构体和类其中之一 注意: 通过扩展为已有类型添加了新功能, 那个新功能在该类型的所有已有实例中都是可用的
*/ /*
通过扩展让已有的类型遵守一个或者多个协议
语法格式:
[修饰符] extension 已有类型: 协议1, 协议2 { // 添加新功能 }
*/ extension String
{
// 扩展一个计算属性
var length: Int {
get {
return self.characters.count
}
} // 扩展一个构造器
init(str: String)
{
self = str
} // 扩展一个方法
func getlength() -> Int
{
return self.characters.count
} // 扩展一个静态方法
static func show() -> Void
{
print("I'm String")
}
} var str: String = "Rinpe"
var str2 = String(str: "Lala") print(str.length)
print(str.getlength())
print(String.show())
print(str2)
上一篇:switch嵌套--猜拳游戏


下一篇:常用Linux操作指令