对于初学者来说,我有一个非常复杂的问题。首先,我从json得到了这个结果
{
"success": true,
"timeframe": true,
"start_date": "2018-01-01",
"end_date": "2018-01-05",
"source": "TRY",
"quotes": {
"2018-01-01": {
"TRYEUR": 0.21947
},
"2018-01-02": {
"TRYEUR": 0.220076
},
"2018-01-03": {
"TRYEUR": 0.220132
},
"2018-01-04": {
"TRYEUR": 0.220902
},
"2018-01-05": {
"TRYEUR": 0.222535
}
}
}
当我使用https://app.quicktype.io创建对象时,它给出了这个,这是正确的。
import Foundation
// MARK: - APIResult
struct APIResult {
let success, timeframe: Bool
let startDate, endDate, source: String
let quotes: [String: Quote]
}
// MARK: - Quote
struct Quote {
let tryeur: Double
}
但我不希望我的货币像这样硬编码,所以如果我选择:USD to:EUR在我的应用程序中,我希望在Quote下得到结果为USDEUR。我还知道,如果我在此结构中更改任何内容,它将不起作用。那么,将如何使这些货币选择动态化,以使其在不同的货币中工作。这是一个货币转换器应用程序,我希望得到这些汇率,并在我的应用程序中的图表上反映出来。谢谢
1条答案
按热度按时间vyu0f0g11#
Decodable
用途广泛,可高度定制。编写一个自定义的初始化器,并将引号字典Map到一个包含日期和引号的
Quote
示例数组。键TRYEUR
是无关的,将被忽略。