Dynami c Имя переменной Struct - PullRequest
       6

Dynami c Имя переменной Struct

0 голосов
/ 14 января 2020

Я определяю структуру следующим образом:

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

Затем я использую эту структуру для преобразования JSON данных в объект, используя JSONDecoder().decode.

Проблема в том, что myNewTable часть myNewTableId и myNewTable основана на псевдониме, заданном для таблицы SQL, из которой они происходят. Таким образом, если псевдоним abc, поля должны быть abcId и abc, а если def, то это должны быть defId и def. Я сохранил этот псевдоним в переменную:

let MY_NEW_TABLE_ALIAS = "myNewT"

Есть ли способ динамически создавать имена переменных в структуре, используя MY_NEW_TABLE_ALIAS. В идеале, когда псевдоним изменяется на стороне SQL, я просто хочу обновить одну переменную вместо того, чтобы обновлять каждую отдельную структуру, которая использует эту таблицу.

1 Ответ

0 голосов
/ 14 января 2020

Простой способ - сначала преобразовать json в строку и заменить вхождения нужным ключом / использовать CodingKeys и создать структуру как есть, кстати, у вас не может быть динамических c имен переменных

...