mvm_core_ui/MVMCoreUI/Templates/TemplateProtocol.swift
Pfeil, Scott Robert 2c6f9667a5 small changes
2020-03-16 16:47:39 -04:00

27 lines
812 B
Swift

//
// ModelTemplateProtocol.swift
// MVMCoreUI
//
// Created by Suresh, Kamlesh on 11/25/19.
// Copyright © 2019 Verizon Wireless. All rights reserved.
//
import Foundation
public protocol TemplateProtocol: class {
associatedtype TemplateModel: TemplateModelProtocol
var templateModel: TemplateModel? { get set }
}
public extension TemplateProtocol where Self: ViewController {
func parseTemplate(json: [AnyHashable: Any]?) throws {
guard let pageJSON = json else { return }
let data = try JSONSerialization.data(withJSONObject: pageJSON)
let decoder = JSONDecoder()
let templateModel = try decoder.decode(TemplateModel.self, from: data)
self.templateModel = templateModel
self.pageModel = templateModel as? MVMControllerModelProtocol
}
}