如何超越Swift 4的Var命名限制?
问题描述:
我有一个从API中提取的JSON数据,其中一个关键是"24h_volume"
。如何超越Swift 4的Var命名限制?
当我试图把24h_volume
作为不断我Decodable struct
给我的错误中:
Expected a digit after integer literal prefix.
据我了解,雨燕语法不允许变量名以数字。
什么是最简单的方法来超越这个限制,并成功从源头拉数据?
答
不清楚你的问题,但是,如果你使用的是Swift 4 JSON解码支持,你可以定义一个自定义的CodingKeys
枚举。例如:
struct Data: Decodable {
var volume24: String
var xxx: String
...
enum CodingKeys: String, CodingKey {
case volume24 = “24h_volume”
case xxx
case ...
}
}
必须再定义每个属性case
您struct
,否则会被JSONDecoder
被忽略。
问题是什么? Swift属性不必与JSON字典键具有相同的名称。 –
当我在Swift 4中解码JSON时,它将所有的值赋给它们在类中的相对名称。所以当我给类中的常量赋予确切的名字时,我从下载的数据中获得它们的值。 – sc13
你没有告诉你使用的是Swift 4或JSONDecoder ... –