Есть задача парсить данные приходящие с сервера и записывать их в сущность. Данные приходят в формате JSON, благополучно парсятся в dictonary и даже сохраняются с помощью метода entity.setValuesForKeys(dictonary). Однако, есть небольшая проблема. Дело в том, что сервер в выдаче иногда добавляет дополнительные поля, которые отсутствуют в entity. От чего приложение падает...
Например есть класс:
public class User {
@NSManaged public var id: Int64
@NSManaged public var name: String
}
Приходит JSON, который преобразуется в dictonary : [String:Any]
{"id":1,"name":"Andrew"}
В экземпляр все записывается благополучно, однако стоит прийти дополнительному полю:
{"id":1,"name":"Andrew","temp":"Hop-hey"}, Компилятор выдает сообщение, что поля "temp" нет в классе User. Можно ли как то получить список названий всех доступных полей в сущности, чтобы в дальнейшем сравнить их с данными из JSON и отбросить лишнее.
Варианты добавления недостающих полей или переменных в объект не рассматриваются. Используется SWIFT 3.