Класс не соответствует кодированию значения ключа для ключа; Переменная как набор
Я пытался использовать кодирование значения ключа на основе отражения, чтобы мой код оставался гибким и динамичным, но я столкнулся с неожиданной проблемой при попытке получить и установить определенные свойства.
Возникает ошибка: «Этот класс не соответствует кодированию значения ключа для ключа [одного из многих ключей]». Класс актуальности следующий:
class Vote: NSObject & Codable {
var id: String
var userIdentifier: String
var dateTimes: Set<Date>?
var candidates: Set<String>?
var filters: Set<String>?
var locations: Set<String>?
var moods: Set<String>?
var prices: Set<Int>?
var restrictions: Set<String>?
enum CodingKeys: String, CodingKey {
case id = "voteId"
case userIdentifier = "userIdentifier"
case candidates = "candidates"
case dateTimes = "dateTimes"
case filters = "filters"
case locations = "locations"
case moods = "moods"
case prices = "prices"
case restrictions = "restrictions"
}
...
и строка, которая генерирует ошибку:
someVoteInstance.value(forKey: "restrictions")
Как правильно использовать значение и setValue, чтобы мой класс оставался кодируемым и дружественным к функциям NSObject?