Exchange
提供货币之间的汇率。它还可以将 MonetaryAmount
值转换为不同 Currency
值的货币。
dependencies: [
.package(url: "https://github.com/SoftwareEngineerChris/MonetaryExchange.git", from: "1.0.0")
]
可以直接从 Fixer.io 最新汇率 JSON 响应中解码 Exchange
。有关其 API 用法的更多信息,请参见 Fixer API 文档 。
Exchange.Fixer.exchange(accessKey: "YourFixerAccessKey") { result in
switch result {
case let .success(exchange):
// We have an Exchange value
case let .failure(error):
// Something went wrong. Dig into the error.
}
}
有关更多信息,请参见 Exchange.Fixer
的文档。
let exchange = try? JSONDecoder().decode(Exchange.self, from: fixerResponseData)
或者,可以使用基本货币和货币-汇率对的字典来构造 Exchange
。
如果要在两种货币之间进行转换,而这两种货币都不是基本货币,但每种货币都具有针对基本货币的汇率,则将产生交叉汇率。
例如,如果基本货币是欧元,但请求的是英镑兑美元的汇率,则将使用交叉汇率。即,英镑兑欧元兑美元。
有关更多信息,请参见 Collins Dictionary 对 交叉汇率 的定义。