【发布时间】:2021-09-09 12:33:57
【问题描述】:
我有一个应用程序,我在其中进行 API 调用,允许我从网站获取货币。它代表所有货币,但我只需要将它们限制为 3 个“USD”、“KZT”、“AED”、“RUB”
我的获取代码如下:
import SwiftUI
class FetchData: ObservableObject {
@Published var coversionData: [Currency] = []
@Published var baseCode = "USD"
init() {
fetch()
}
func fetch() {
let url = "https://open.exchangerate-api.com/v6/latest?base=\(baseCode)"
let session = URLSession(configuration: .default)
session.dataTask(with: URL(string: url)!) { data, _, _ in
guard let JSONData = data else {return}
do {
let conversion = try JSONDecoder().decode(Conversion.self, from: JSONData)
DispatchQueue.main.async {
self.coversionData = conversion.rates.compactMap({ (key,value) -> Currency? in
return Currency(currencyName: key, currencyValue: value)
})
}
}
catch {
print(error)
}
}
.resume()
}
func updateData(baseCode: String) {
self.baseCode = baseCode
self.coversionData.removeAll()
fetch()
}
}
有人可以与我的文档、教程、GitHub 链接分享我只需要了解如何仅显示 3 个类别的任何内容吗?
请举例!
【问题讨论】:
-
你不能为你想要的每种货币在 api 上调用另一个端点,然后将它们存储在一个数组中吗?或者喜欢在您致电后过滤结果以仅保留您想要的货币?我不明白你的问题是什么
-
@AdrienRoux 非常感谢您的回复,我是编码和 API 的新手 :) 希望有一天能像您一样帮助其他人!
-
@loremipsum 非常感谢您的帮助,我一定会完成的。
-
@NursultanYelemessov 没问题!不知道您是新手,希望您能通过 API 找到自己的方法 :) 乐于提供帮助 :)