Ваше свойство value3
имеет тип ModalC
, но при декодировании вы пытаетесь проанализировать значение String
(при передаче String.self
в decodeIfPresent
метод).
decodeIfPresent
методпринимает тип декодируемого значения в качестве первого аргумента.В вашем случае метод decodeIfPresent
возвращает значение String
, и вы пытаетесь установить значение String
для свойства типа ModalC
.
Таким образом, чтобы устранить ошибку, вы должны сказать, что хотите получить значениетипа ModalC
для ключа .value3
.Для этого вы должны передать ModalC.self
примерно так:
value3 = try values.decodeIfPresent(ModalC.self, forKey: .value3)