Swift中扩展的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于Swift中扩展的使用的主要内容,如果未能解决你的问题,请参考以下文章
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题