我定义一个结构如下:
struct MyModel : Decodable {
var id : Int
var amount: Int
let myNewTableId : Int
let userId : Int
let myNewTable : MyNewTable
}
然后,我使用此结构通过 JSONDecoder().decode
将 JSON 数据转换为对象。
问题是 myNewTableId
和 myNewTable
的 myNewTable
部分基于为它们源自的 SQL 表指定的别名。因此,如果别名是 abc
,则字段应为 abcId
和 abc
,如果其 def
,则应为 >defId
和 def
。我已将此别名保存到变量中:
let MY_NEW_TABLE_ALIAS = "myNewT"
有没有办法使用MY_NEW_TABLE_ALIAS
动态构造结构中的变量名称。理想情况下,当 SQL 端的别名发生更改时,我只想更新一个变量,而不必更新使用该表的每个结构。
最佳答案
简单的方法是首先将 json 转换为字符串,然后用所需的键替换出现的内容/使用 CodingKeys 并按原样创建结构,顺便说一句,你不能有动态变量名称
关于ios - 动态结构变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59732228/