Класс не соответствует кодированию значения ключа для ключа; Переменная как набор

Я пытался использовать кодирование значения ключа на основе отражения, чтобы мой код оставался гибким и динамичным, но я столкнулся с неожиданной проблемой при попытке получить и установить определенные свойства.

Возникает ошибка: «Этот класс не соответствует кодированию значения ключа для ключа [одного из многих ключей]». Класс актуальности следующий:

      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?

0 ответов

Другие вопросы по тегам