remove extra custom protocol
This commit is contained in:
parent
1591ab2fdb
commit
616c242b29
@ -11,10 +11,8 @@ import Foundation
|
|||||||
public protocol TemplateProtocol: AnyObject {
|
public protocol TemplateProtocol: AnyObject {
|
||||||
associatedtype TemplateModel: TemplateModelProtocol
|
associatedtype TemplateModel: TemplateModelProtocol
|
||||||
var templateModel: TemplateModel? { get set }
|
var templateModel: TemplateModel? { get set }
|
||||||
}
|
|
||||||
|
func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModel
|
||||||
public protocol CustomTemplateDecoder {
|
|
||||||
func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModelProtocol
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public extension TemplateProtocol where Self: ViewController {
|
public extension TemplateProtocol where Self: ViewController {
|
||||||
@ -24,14 +22,12 @@ public extension TemplateProtocol where Self: ViewController {
|
|||||||
let data = try JSONSerialization.data(withJSONObject: pageJSON)
|
let data = try JSONSerialization.data(withJSONObject: pageJSON)
|
||||||
let decoder = JSONDecoder()
|
let decoder = JSONDecoder()
|
||||||
try decoder.add(delegateObject: delegateObjectIVar)
|
try decoder.add(delegateObject: delegateObjectIVar)
|
||||||
let templateModel: TemplateModel
|
self.templateModel = try decodeTemplate(using: decoder, from: data)
|
||||||
if let customDecoder = self as? CustomTemplateDecoder {
|
|
||||||
templateModel = try customDecoder.decodeTemplate(using: decoder, from: data) as! Self.TemplateModel
|
|
||||||
} else {
|
|
||||||
templateModel = try decoder.decode(TemplateModel.self, from: data)
|
|
||||||
}
|
|
||||||
self.templateModel = templateModel
|
|
||||||
self.pageModel = templateModel as? MVMControllerModelProtocol
|
self.pageModel = templateModel as? MVMControllerModelProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModel {
|
||||||
|
return try decoder.decode(TemplateModel.self, from: data)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user