设计模式与软件原则 (四): 扩展设计模式
2022-02-26 本文已影响0人
_浅墨_
扩展设计模式(Extensions Design Pattern)
扩展允许我们向已有实体添加新功能。
import Foundation
extension Double {
func toCurrency() -> String? {
let currencyFormatter = NumberFormatter()
currencyFormatter.numberStyle = .currency
return currencyFormatter.string(from: NSNumber(value: self))
}
}
这里,我们为 Double 类型增加了一个新方法 toCurrency(),所以 Double 类型的变量就可以直接调用该方法了:
let amount = 23.09
if let currency = amount.toCurrency() {
print(currency)
}