在Swift的官方文档中运算符重载叫做运算符函数(Operator Functions),顾名思义就是对已经有的运算符覆盖定义自己的函数实现。三元运算符(a?b:c)和默认的默认的赋值符(=)是不可重载的。
另外需要注意的是重载方法要写到宏定义中,如果写到某个类文件中会报错
下面给出一个小例子
宏定义文件中的代码:
import UIKit
func *(str: String, index: Int) -> String {
var result = str
for _ in 2...index {
result += str
}
return result
}
类文件中对重载方法调用的代码:
func rebuildMethod()
{
let u = "abc"
let v = u * 5
print("the v is :",v)
}
后续了解到更多会更新。如有错误,欢迎指正。