Могу ли я установить два строковых значения для CodingKey?

Используйте функцию settype().

http://php.net/manual/en/function.settype.php

blockquote>

Пример:

$type = 'int';
$var = '20';
settype($var, $type);
var_dump($var);

1
задан Aleksandr Maybach 18 January 2019 в 10:41
поделиться

1 ответ

Нет, но вы можете сделать что-то вроде хака под капотом, вот так:

struct BusinessObject: Codable {

    enum CodingKeys: String, CodingKey {

        case primaryId = "id"
        case alternativeId = "some_id"
    }

    private let primaryId: Int?
    private let alternativeId: Int?

    var id: Int {

        return primaryId ?? alternativeId ?? 0
    }
}
0
ответ дан holex 18 January 2019 в 10:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: