Как преобразовать модель coredata в стремительную структурную модель? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть объекты coredata (подклассы NSManagedObject), я хочу преобразовать их в объекты Model, чтобы я мог повторно использовать существующий код. Как я могу вручную отобразить их?

объекты модели имеют структуру, как показано ниже: я получил объект сущности coredata. но теперь, когда я пытаюсь сопоставить их с видео структурой ниже. let video: Video = Video (from: <# Decoder #>) что я должен передать в декодер?

struct Video: Decodable{
     var id : Int?
      var name : String?
      var video_description : String?
      var thumbnail_image_url : String?
      var provider_name : String?


    private enum VideoKeys: String, CodingKey {
        case id
        case name
        case video_description = "description"
        case thumbnail_image_url = "poster"
        case provider_details = "custom_fields"
    }

    private enum ProviderKeys : String, CodingKey{
        case provider_name = "provider"
    }

     init(from decoder : Decoder) throws {
        if let videoContainer = try? decoder.container(keyedBy: VideoKeys.self){

            self.id = try videoContainer.decodeIfPresent(Int.self, forKey: .id)
            self.name = try videoContainer.decodeIfPresent(String.self, forKey: .name)

            self.video_description = try videoContainer.decodeIfPresent(String.self, forKey: .video_description)

            self.thumbnail_image_url = try videoContainer.decodeIfPresent(String.self, forKey: .thumbnail_image_url)

            if let providercontainer = try? videoContainer.nestedContainer(keyedBy: ProviderKeys.self, forKey: .provider_details){
                self.provider_name = try providercontainer.decodeIfPresent(String.self, forKey: .provider_name)
            }
        }
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...