ios - 动态结构变量名称

标签 ios swift struct alias

我定义一个结构如下:

struct MyModel : Decodable {
   var id : Int
   var amount: Int
   let myNewTableId : Int
   let userId : Int 
   let myNewTable : MyNewTable
}

然后,我使用此结构通过 JSONDecoder().decode 将 JSON 数据转换为对象。

问题是 myNewTableIdmyNewTablemyNewTable 部分基于为它们源自的 SQL 表指定的别名。因此,如果别名是 abc,则字段应为 abcIdabc,如果其 def,则应为 >defIddef。我已将此别名保存到变量中:

let MY_NEW_TABLE_ALIAS = "myNewT"

有没有办法使用MY_NEW_TABLE_ALIAS动态构造结构中的变量名称。理想情况下,当 SQL 端的别名发生更改时,我只想更新一个变量,而不必更新使用该表的每个结构。

最佳答案

简单的方法是首先将 json 转换为字符串,然后用所需的键替换出现的内容/使用 CodingKeys 并按原样创建结构,顺便说一句,你不能有动态变量名称

关于ios - 动态结构变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59732228/

相关文章:

c - 结构效率

c - 指或不指

ios - 使用自定义 init 转入 UITableViewController

objective-c - 使用触摸移动事件移动 CALayer

ios - 如何在 Swift 中设置 PFObject 的 ACL?

c++ - c++11(工作草案)标准中的布局兼容性是否太弱?

ios - 使用旧的 swift 版本

ios - 从库/缓存加载视频到 View

swift - 以编程方式创建贴纸包,将 UICollectionViewCell 转换为 MSStickerView 时出现问题

ios - 应用程序和扩展 - 使用核心数据 == 错误 : sharedApplication()' is unavailable